Skip to content

Install

Karajan v4 attaches to the AI agent you already work with (Claude Code, Codex, Gemini CLI, Cursor). You install it once per machine, activate it once per project, and from then on your agent follows the method and git enforces it.

One installer, complete result: curl -fsSL https://karajancode.com/install.sh | sh installs the full product — it uses your Node (≥ 22.12) if present, and auto-provisions the official Node LTS into ~/.karajan/node (checksum-verified, nothing system-wide) if not. npm install -g karajan-code works too if you prefer it explicit. A CLI-only single binary exists behind --standalone for machines where you deliberately want no Node. Requires git, and at least one AI agent CLI — two enables cross-AI review; three enables arbitration.

In your project directory, tell your agent just this — it routes itself:

I want to use Karajan in this project: read https://karajancode.com/start.md
and do what it says.

The router prompt makes your agent check whether kj is installed (and set up the whole machine if not), detect whether this is a new project or an existing codebase, activate the environment accordingly, and stop and WAIT for you whenever a step needs your permission (sudo/administrator), an account, or kj exits with code 3 (PENDING USER ACTION) — a partial install is a failed install. The prompts are versioned with kj itself (docs/prompts/).

Prefer to drive each phase yourself? The three flows below are the same thing, split out.

Read https://karajancode.com/install-machine.md and do what it says: install
Karajan Code on this machine, FULLY operational. Ask me before each install;
if a step needs elevated privileges (sudo/administrator) or kj exits
with code 3, STOP, show me the exact commands and WAIT for my go-ahead.
This machine already has kj. Read https://karajancode.com/project-new.md and
activate Karajan in THIS project (new). Stop and wait for me if anything
needs my permission, an account, or kj exits with code 3.
This machine already has kj. Read https://karajancode.com/project-legacy.md
and adopt Karajan in THIS existing codebase: work on a branch, respect the
project's own configs, run kj onboard first, and stop and wait for me if
anything needs my permission or kj exits with code 3.

Every gate is a file you can see: remove .karajan/review-gate to disable the review gate, unset core.hooksPath to disable the hooks, delete the managed block in the rule files to remove the method. Nothing is hidden.