Feature request
Add Kilo Code as a supported target for apm compile / apm install, alongside claude, codex, cursor, gemini, grok-build, copilot, opencode, windsurf, and kiro.
- Target slug:
kilo
- Deploy root (project):
.kilo/
- Detection signal:
.kilo/ directory (distinct from existing kiro target's .kiro/)
Target mapping
Sources: skills, subagents, custom-modes, AGENTS.md, custom-instructions, MCP.
| Primitive |
Global (user) |
Project |
Instructions (AGENTS.md) |
~/.config/kilo/AGENTS.md |
AGENTS.md (root and distributed subdirectories) |
Skills (SKILL.md trees) |
~/.agents/skills/ (shared) |
.agents/skills/ (shared) |
| Agents |
~/.config/kilo/agents/*.md |
.kilo/agents/*.md |
| Prompts / Commands |
~/.config/kilo/commands/*.md |
.kilo/commands/*.md |
| MCP Servers |
~/.config/kilo/kilo.jsonc |
.kilo/kilo.jsonc |
- Instructions: Kilo reads root + per-directory
AGENTS.md (agents-md). apm compile → AGENTS.md (agents family, distributed by default per applyTo: globs); apm compile -g → ~/.config/kilo/AGENTS.md (custom-instructions).
- Skills: Standard Agent Skills format — folder +
SKILL.md with name, description frontmatter. Reuses the shared .agents/skills/ path (following opencode / codex conventions) as Kilo scans .agents/skills/ by default (skills).
- Agents: Markdown + YAML frontmatter; body is system prompt; filename (minus
.md) = agent name (custom-modes).
- Prompts / Commands: Markdown workflow files located in
.kilo/commands/*.md (workflows).
- MCP Servers: Configured under the top-level
"mcp" key in kilo.jsonc (using-in-kilo-code).
Notes on user-scope paths (.config used only where no alternative exists)
- Global skills: Follows
opencode / codex convention and targets ~/.agents/skills/ (skills).
- Global agents, commands, and instructions: Currently have no Home-relative documented location — all live in
~/.config/kilo/ (subagents, custom-instructions).
Key facts
- Skills reuse
.agents/skills/: Kilo automatically scans EXTERNAL_DIRS = [".claude", ".agents"] → ~/.agents/skills/ (global) and .agents/skills/**/SKILL.md up the project tree (skills). APM's existing .agents/skills/ deploy is picked up without requiring duplicate deployments to .kilo/skills/.
- Agents require native deployment: Agent files are discovered from
.kilo/agents/ (project) and ~/.config/kilo/agents/ (global) (subagents).
- MCP integration:
apm install --mcp writes server configurations to .kilo/kilo.jsonc (bootstrapping the file if it does not exist) or ~/.config/kilo/kilo.jsonc at global scope.
Registration
- Add
kilo to apm.yml targets: validation, apm targets table, and --target / --all catalog (non-explicit ⇒ included in all).
- Targets matrix: project root
.kilo/; instructions via AGENTS.md; agents → .kilo/agents/*.md; prompts → .kilo/commands/*.md; skills → reused .agents/skills/; mcp → .kilo/kilo.jsonc.
- User-scope compile →
~/.config/kilo/AGENTS.md.
- Tests mirroring
opencode / kiro target tests.
Config / env surface
- Config: global
~/.config/kilo/kilo.jsonc (Windows C:\Users\<user>\.config\kilo\kilo.jsonc), project ./.kilo/kilo.jsonc or ./kilo.jsonc (settings, CLI).
- Extra skill dirs:
skills.paths / skills.urls in kilo.jsonc.
- Env overrides:
KILO_CONFIG, KILO_CONFIG_DIR, KILO_CONFIG_CONTENT, KILO_DISABLE_EXTERNAL_SKILLS (CLI, architecture).
Testing
.kilo/ activates kilo; no collision with .kiro/.
apm compile -t kilo → AGENTS.md (root and distributed); apm compile -g → ~/.config/kilo/AGENTS.md.
apm install -t kilo → .kilo/agents/*.md, .kilo/commands/*.md, and skills via .agents/skills/.
apm install --mcp <name> -t kilo → writes to .kilo/kilo.jsonc (bootstrapped if absent).
apm targets --json lists kilo.
- Manual verification:
kilo CLI picks up skills, subagents, commands, and MCP servers.
Feature request
Add Kilo Code as a supported target for
apm compile/apm install, alongsideclaude,codex,cursor,gemini,grok-build,copilot,opencode,windsurf, andkiro.kilo.kilo/.kilo/directory (distinct from existingkirotarget's.kiro/)Target mapping
Sources: skills, subagents, custom-modes, AGENTS.md, custom-instructions, MCP.
AGENTS.md)~/.config/kilo/AGENTS.mdAGENTS.md(root and distributed subdirectories)SKILL.mdtrees)~/.agents/skills/(shared).agents/skills/(shared)~/.config/kilo/agents/*.md.kilo/agents/*.md~/.config/kilo/commands/*.md.kilo/commands/*.md~/.config/kilo/kilo.jsonc.kilo/kilo.jsoncAGENTS.md(agents-md).apm compile→AGENTS.md(agentsfamily, distributed by default perapplyTo:globs);apm compile -g→~/.config/kilo/AGENTS.md(custom-instructions).SKILL.mdwithname,descriptionfrontmatter. Reuses the shared.agents/skills/path (followingopencode/codexconventions) as Kilo scans.agents/skills/by default (skills)..md) = agent name (custom-modes)..kilo/commands/*.md(workflows)."mcp"key inkilo.jsonc(using-in-kilo-code).Notes on user-scope paths (
.configused only where no alternative exists)opencode/codexconvention and targets~/.agents/skills/(skills).~/.config/kilo/(subagents, custom-instructions).Key facts
.agents/skills/: Kilo automatically scansEXTERNAL_DIRS = [".claude", ".agents"]→~/.agents/skills/(global) and.agents/skills/**/SKILL.mdup the project tree (skills). APM's existing.agents/skills/deploy is picked up without requiring duplicate deployments to.kilo/skills/..kilo/agents/(project) and~/.config/kilo/agents/(global) (subagents).apm install --mcpwrites server configurations to.kilo/kilo.jsonc(bootstrapping the file if it does not exist) or~/.config/kilo/kilo.jsoncat global scope.Registration
kilotoapm.ymltargets:validation,apm targetstable, and--target/--allcatalog (non-explicit ⇒ included inall)..kilo/;instructionsviaAGENTS.md;agents→.kilo/agents/*.md;prompts→.kilo/commands/*.md;skills→ reused.agents/skills/;mcp→.kilo/kilo.jsonc.~/.config/kilo/AGENTS.md.opencode/kirotarget tests.Config / env surface
~/.config/kilo/kilo.jsonc(WindowsC:\Users\<user>\.config\kilo\kilo.jsonc), project./.kilo/kilo.jsoncor./kilo.jsonc(settings, CLI).skills.paths/skills.urlsinkilo.jsonc.KILO_CONFIG,KILO_CONFIG_DIR,KILO_CONFIG_CONTENT,KILO_DISABLE_EXTERNAL_SKILLS(CLI, architecture).Testing
.kilo/activateskilo; no collision with.kiro/.apm compile -t kilo→AGENTS.md(root and distributed);apm compile -g→~/.config/kilo/AGENTS.md.apm install -t kilo→.kilo/agents/*.md,.kilo/commands/*.md, and skills via.agents/skills/.apm install --mcp <name> -t kilo→ writes to.kilo/kilo.jsonc(bootstrapped if absent).apm targets --jsonlistskilo.kiloCLI picks up skills, subagents, commands, and MCP servers.