Installation
ka ships on crates.io as ka-harness (the CLI package; the engine and supporting crates publish alongside it as ka-engine, ka-term, ka-dialect, and friends); installing it produces a single static binary with no runtime dependencies. Building from source is equally supported. Through v0.2.11 the package was published as ka-agent: that name is reserved for a separate future product and no longer receives releases.
Requirements
Section titled “Requirements”- Rust 1.85+ (edition 2024); rustup is the easiest way to get it.
- Linux: ka targets Linux; CI produces static musl builds for
x86_64-unknown-linux-musl.
From crates.io
Section titled “From crates.io”cargo install ka-harnessThis installs the ka binary into ~/.cargo/bin.
Updating from ka-agent (v0.2.11 or older)? Migrate with:
cargo uninstall ka-agent && cargo install ka-harnessThe rename changes the package name only: the binary, your config, and your strands are untouched. The old ka-agent package stays on crates.io at 0.2.11 and receives no further releases.
From source
Section titled “From source”git clone https://github.com/jaltez/ka-harnesscd ka-harnesscargo build --release -p ka-harnessThe binary lands at target/release/ka. Either alias it or install it into ~/.cargo/bin:
alias ka=target/release/ka # quick trycargo install --path crates/ka-harness # install for realRelease archives
Section titled “Release archives”Releases carry an ed25519-signed static musl archive for x86_64 Linux on the GitHub releases page. ka update downloads and verifies those signatures automatically; for a manual install, untar the binary into ~/.cargo/bin.
Verify the environment
Section titled “Verify the environment”ka --version # carries the git hashka doctor # health checks: build, config layers, keys, trust, dataka doctor --net # additionally probe provider + MCP reachabilityka doctor reports whether configured LSP server commands exist on PATH, whether your config layers parse, and where your data lives. It is the first thing to run when something feels off.
Keeping up to date
Section titled “Keeping up to date”Reinstall with cargo install ka-harness to pick up new crates.io releases. ka update installs signed release artifacts from GitHub (ed25519-verified, channels stable/edge, never automatic); those channels are still being provisioned.
Development installs
Section titled “Development installs”ka’s own repository uses the cargo-xtask convention:
cargo xtask install # stable: cargo install --locked → ~/.cargo/bin/kacargo xtask link # dev: builds release + symlinks kad → target/release/kacargo xtask dev -- models # rebuild + run the dev binary with argscargo xtask unlink # remove the kad symlinkThe stable binary owns the name ka; the dev binary is always kad. To isolate dev sessions from your real ones:
KA_DATA_DIR=/tmp/ka-dev kad … # shares config/rules/hooks, separates strandsUninstall
Section titled “Uninstall”Everything ka writes lives in two places: the binary (~/.cargo/bin/ka) and its data (~/.config/ka/, ~/.local/share/ka/, ~/.local/state/ka/). Remove those and ka is gone.