feat: add Kiro CLI agent support#958
Merged
njbrake merged 3 commits intonjbrake:mainfrom May 7, 2026
Merged
Conversation
Register Kiro CLI (kiro-cli) as a built-in agent with:
- Detection via `which kiro-cli`
- YOLO mode via `--trust-all-tools` flag
- Session resume via `--resume-id` flag
- Hook-based status detection via a dedicated agent config file
(~/.kiro/agents/aoe-hooks.json) using Kiro's native hook format
(lowercase event names, flat {command} objects)
- Container config mount for ~/.kiro (syncs agents, steering, prompts,
and settings dirs into sandbox)
- Kiro CLI installed in the sandbox Docker image
Docs updated: README, docs/index.md, docs/guides/sandbox.md.
Closes njbrake#951
13 tasks
…i side effect Three review fixes from PR njbrake#958: 1. Sandboxed Kiro sessions had no hook status volume mount and no per-instance aoe-hooks.json install (the host kiro path was gated on !is_sandboxed but no sandbox branch existed). Add a kiro_hooks special-case alongside hermes_hooks in build_container_config so the sidecar dir is mounted and the agent config is materialized inside the sandbox dir. 2. install_kiro_hooks shelled out to `kiro-cli` unconditionally, which meant cargo test mutated the developer's real default Kiro agent on any machine with kiro-cli installed. Split into pure file IO (install_kiro_hooks) and a separate set_kiro_default_agent_if_builtin that the host install path calls explicitly. 3. Update the stale comment in agents.rs that referred to "until a Kiro-specific hook installer is added"; the installer is here. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 7, 2026
Switch set_kiro_default_agent_if_builtin from substring-matching plain text output to using `kiro-cli settings --format json`, which returns `null` (unset), `"kiro_default"` (built-in), or `"custom-name"` (user-chosen). Eliminates false matches on agent names containing 'kiro_default' or 'not set' as substrings. Fixes njbrake#962
nycjay
pushed a commit
to nycjay/agent-of-empires
that referenced
this pull request
May 7, 2026
Add pitfalls discovered during njbrake#958 review: - Sandbox hooks need separate wiring in build_container_config - Keep install_*_hooks() as pure file IO (no subprocess calls) - Use --format json when parsing agent CLIs - Document missing Waiting status as a limitation
njbrake
pushed a commit
that referenced
this pull request
May 7, 2026
* docs: add guide and skill for adding new agent support - docs/development/adding-agents.md: comprehensive reference covering levels of support, step-by-step instructions, hook format reference, and common pitfalls - .claude/skills/add-agent/SKILL.md: interactive skill that walks through the agent addition workflow with verification checkpoints; includes a self-update section so the skill stays current - .kiro/skills/add-agent -> symlink to .claude/skills/add-agent so the skill works for both Claude Code and Kiro CLI users * docs: incorporate lessons from PR review Add pitfalls discovered during #958 review: - Sandbox hooks need separate wiring in build_container_config - Keep install_*_hooks() as pure file IO (no subprocess calls) - Use --format json when parsing agent CLIs - Document missing Waiting status as a limitation * fix: address PR review feedback - Remove .claude/skills/ and .kiro/skills/ (skill precedent decision deferred per maintainer) - Add website sync entries (PAGES, URL_MAP in sync-docs.mjs, nav in docsNav.ts) - Add cross-link from AGENTS.md to docs/development/adding-agents.md --------- Co-authored-by: Jason Knaster <jason.knaster@infor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Register Kiro CLI (kiro-cli) as a built-in agent with:
which kiro-cli--trust-all-toolsflag--resume-idflagDocs updated: README, docs/index.md, docs/guides/sandbox.md.
Closes #951
Description
Adds built-in support for the Kiro CLI agent (AWS).
This PR:
--trust-all-tools), and session resume (--resume-id) support.~/.kiro/agents/aoe-hooks.json) using Kiro's native hook format.aoe-hooksas the default Kiro agent if the user is on the built-inkiro_default; does not override custom defaults.~/.kiroconfig (agents, steering, prompts, settings) into sandbox sessions.PR Type
Checklist
AI Usage
AI Model/Tool used:
Claude Sonnet 4 via Kiro CLI
Any Additional AI Details you'd like to share:
Verification included:
cargo fmt --checkcargo clippy -- -D warningscargo test --lib(82 relevant tests pass)NOTE:
When responding to reviewer questions, please respond yourself rather than copy/pasting reviewer comments into an AI and pasting back its answer. We want to discuss with you, not your AI :)