CLI commands
ak kit init
Install or build a kit
ak kit init
Install or build a kit
Synopsis
What it does: Load a kit (e.g. engineer, marketing) and emit its content via one or more target adapters. INSTALL writes runtime-native project content by default; --switch-to-plugin selects a Claude Code project plugin; --build-only writes without installing.
Who it's for: Both: power devs (scripted via flags) and non-tech users (interactive wizard on TTY).
When to use it:
After ak licenses confirms access to a paid kit. Run when you want the kit's agents, skills, and commands available locally for adapters (e.g. Claude Code and Codex).
Examples: ak kit init engineer --yes --no-interactive # remote registry is the release default ak kit init engineer --local --kits-dir kits/ --yes # dev/CI explicit source ak kit init engineer --target claude-code # entitled project-native Claude Code install ak kit init engineer --remote --target claude-code --switch-to-plugin # entitled Claude Code project plugin ak kit init engineer --remote --target codex # authenticated Codex project install ak kit init engineer --remote --target codex --global # install under ~/.codex ak kit install engineer --skills ak-cook,ak-plan --yes # install selected skills ak kit install engineer --exclude-skills ak-video --yes # exclude selected skills ak kit init engineer --remote --switch-to-plugin --yes --json --no-interactive # scripted project install ak kit init engineer --local --kits-dir kits/ --global --yes --no-interactive # native install from explicit source ak kit init engineer --local --kits-dir kits/ --target claude-code --yes # project-native install from explicit source ak kit init engineer --kits-dir kits/ --build-only --out /tmp/out --json # local development build
What changes on disk: Project-native mode merges AgentKit-owned resources into ./.claude and stores lifecycle metadata under ./.agentkit. Unknown and user-modified files are preserved. --switch-to-plugin writes a project plugin; --global writes native user-runtime files; --force authorizes tracked overwrite after a snapshot.
Output modes: pretty default on TTY (colors, ASCII markers) plain auto when stdout piped or --no-interactive json --json (single-object envelope, NDJSON-safe)
Exit codes: 0 success 1 runtime error 2 invalid flags 3 user-cancel (SIGINT, prompt-cancel) 5 kit not found in --kits-dir 6 target directory exists without --force
ak kit init <kit-name> [flags]Options
--build-only Build plugin to a local directory instead of installing
--channel string Remote registry channel (beta requires explicit opt-in) (default "stable")
--exclude-skills string Comma-separated skill names to skip while installing the rest of the kit
--force Overwrite existing output directory
-g, --global Install into the adapter user directory instead of the current project
-h, --help help for init
--json Emit machine-readable JSON (implies --no-interactive)
--kits-dir string Explicit local kits directory for --local or local build development
--local Install from an explicit --kits-dir or AGENTKIT_KITS_DIR source instead of the remote registry (dev/CI)
--no-backup Skip the pre-install snapshot + ClaudeKit takeover on a global install (power users only — leaves CK content active)
--no-interactive Disable interactive prompts (CI-safe)
--out string Output root directory (requires --build-only)
-q, --quiet Suppress non-error output on stderr
--registry-url string AgentKit registry base URL (default: $AGENTKIT_REGISTRY_URL, then dev/staging https://staging.agentkit.best or release https://agentkit.best)
--remote Install from the authenticated remote registry (default; explicit use will be deprecated soon) (default true)
--select-skills Interactively choose kit skills before install
--skills string Comma-separated skill names to install from the kit
--switch-to-plugin Explicitly select Claude Code project plugin mode (and replace native mode when present)
--target string Emitter target ID or comma-separated IDs (e.g. claude-code,codex) (default "claude-code")
-V, --verbose Extra diagnostic output on stderr (loses to --quiet)
--version string Remote kit version (defaults to channel latest)
-y, --yes Assume yes for all promptsSEE ALSO
- ak kit - Kit management commands