feat(shared): add Kiro CLI as a built-in terminal agent

Merged
KI
3mo ago
+71-0

What

Adds Kiro CLI (AWS's spec-driven coding agent) as a built-in terminal agent. This is @Kcrong's #3571, rebased by hand onto the current createBuiltinTerminalAgent manifest shape and the files every builtin now touches. Thank you @Kcrong for the original contribution, the icon, and the flag verification; the commit carries your Co-authored-by.

  • packages/shared/src/builtin-terminal-agents.ts: kiro entry
  • packages/ui/src/assets/icons/preset-icons/kiro.svg + index.ts registration (single icon; the mark sits on a #9046FF tile so it reads on light and dark, like claude/gemini/amp)
  • README "Supported Agents" row, apps/docs/content/docs/agent-integration.mdx bullet, UniversalCompatibilityDemo entry + apps/marketing/public/app-icons/kiro.svg
  • Registration test in agent-command.test.ts (prompt shape, preset args, resume args)

Manifest

FieldValueVerified against
commandkiro-cli chat --trust-all-toolsCLI commands reference
promptCommand(same as command; prompt goes in the [INPUT] positional, "The first question to ask")same
resumeCommandkiro-cli chat --trust-all-tools --resume-id (+ session id)same
nonInteractiveCommandkiro-cli chat --no-interactiveHeadless mode

Two deliberate changes from #3571:

  1. promptCommand no longer uses --no-interactive. Headless mode requires KIRO_API_KEY (Pro tier per the docs), so most interactive users would get an auth error on every prompt launch. Seeding the interactive chat positionally matches how grok/pi work here; the headless form is kept in nonInteractiveCommand where Superset uses it for one-shot work.
  2. Not added to the default terminal presets, matching droid/pi/polygraph. Happy to flip includeInDefaultTerminalPresets if you want it seeded.

Kiro runs as a plain terminal agent, same shape as Pi / Cursor Agent, so no packages/agent-setup target or wrapper is needed.

Live-tested against an installed kiro-cli 2.19.1 on macOS (2026-08-23): chat --help shows exactly the contract above ([INPUT] "The first question to ask", -a/--trust-all-tools, --resume-id <SESSION_ID>, --no-interactive). Real runs: the headless form answered a one-shot prompt; the interactive form booted, showed Kiro's one-time trust-all-tools acknowledgement (first launch only), answered the positional prompt in the TUI, and printed a --resume-id hint on exit; --resume-id <id> then resumed that conversation headlessly. One correction from testing to my paragraph above: headless mode worked here without KIRO_API_KEY (the docs' Pro-tier note evidently applies to API-key auth specifically, not to the mode) - the interactive-seeding choice stands on UX grounds regardless.

Note: Kiro CLI 3.0 (opt-in via kiro-cli --v3) replaces --trust-all-tools with a capability-based permissions.yaml; the shipped 2.x default still accepts the flag, which is what this entry targets.

Testing

  • bun run typecheck clean
  • bun run lint clean
  • bun test packages/shared 778 pass

Based on #3571 (left open; the author can close it once this lands).

https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f


Summary by cubic

Adds Kiro CLI as a built-in terminal agent so users can run Kiro chats and resume sessions from Superset. Prompt launches now seed the interactive chat via positional input instead of headless; one-shot headless remains available.

  • Manifest: kiro-cli chat --trust-all-tools; resume uses --resume-id; non-interactive uses kiro-cli chat --no-interactive.
  • Tests in packages/shared/src/agent-command.test.ts cover registration, positional prompt injection, host preset args, and --resume-id.
  • UI/docs: preset icon added in packages/ui, README row, docs entries in apps/docs (agent integration and terminal presets), desktop AgentIconPicker option, settings-search keywords ("kiro", "aws"), and marketing icon plus UniversalCompatibilityDemo entry.
  • Rollout: not included in default terminal presets; add Kiro via the agent picker if desired.
  • Compatibility: targets Kiro CLI 2.x (--trust-all-tools); v3 replaces this with permissions, but 2.x still accepts the flag.

Summary by CodeRabbit

  • New Features
    • Added support for the Kiro AI coding agent, including interactive, non-interactive, and resume workflows.
    • Added Kiro to the supported agents documentation and compatibility showcase.
    • Added a Kiro quick-add preset for starting trusted Kiro sessions.
    • Added a Kiro icon for use in the interface and agent settings.