Skip to content

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

Merged
Kitenite merged 2 commits into
mainfrom
feat/agent-kiro
Aug 24, 2026
Merged

Kitenite merged 2 commits into
mainfrom
feat/agent-kiro

Conversation

@Kitenite

@Kitenite Kitenite commented Aug 22, 2026 •

Copy link
Copy Markdown
Member

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

Field Value Verified against
command kiro-cli chat --trust-all-tools CLI commands reference
promptCommand (same as command; prompt goes in the [INPUT] positional, "The first question to ask") same
resumeCommand kiro-cli chat --trust-all-tools --resume-id (+ session id) same
nonInteractiveCommand kiro-cli chat --no-interactive Headless 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.

Written for commit d764dc5. Summary will update on new commits.

Review in cubic

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.

@coderabbitai

coderabbitai Bot commented Aug 22, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 69e4648e-6a72-450e-a5d5-5df9c7b07630

📥 Commits

Reviewing files that changed from the base of the PR and between a6d41c4 and d764dc5.

📒 Files selected for processing (3)
  • apps/desktop/src/renderer/routes/_authenticated/settings/agents/components/V2AgentsSettings/components/AgentIconPicker/agent-icon-options.ts
  • apps/desktop/src/renderer/routes/_authenticated/settings/utils/settings-search/settings-search.ts
  • apps/docs/content/docs/terminal-presets.mdx

Included review availability: Your plan provides up to 10 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

This change adds Kiro CLI as a built-in terminal agent. It defines command configurations, registers its icon, adds desktop and marketing integrations, tests the configuration, and updates documentation.

Changes

Kiro CLI support

Layer / File(s) Summary
Terminal agent registration
packages/shared/src/builtin-terminal-agents.ts, packages/shared/src/agent-command.test.ts, packages/ui/src/assets/icons/preset-icons/index.ts
Kiro receives interactive, non-interactive, and resume commands. Tests validate its commands and arguments. The kiro icon is registered for both themes and exported.
Product surface integration
apps/desktop/.../agent-icon-options.ts, apps/desktop/.../settings-search.ts, apps/marketing/.../UniversalCompatibilityDemo.tsx
Desktop settings expose the Kiro icon and search keywords. The compatibility demo displays Kiro with its icon.
Documentation updates
README.md, apps/docs/content/docs/agent-integration.mdx, apps/docs/content/docs/terminal-presets.mdx
The documentation lists Kiro as supported and adds a quick-add preset using kiro-cli chat --trust-all-tools.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to d764d

This PR adds Kiro CLI support and related documentation and icons without any actionable merge-blocking risk remaining; it is merge-ready after normal checks and review.

Suggested reviewers: saddlepaddle

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title uses conventional commit format and clearly summarizes the main change: adding Kiro CLI as a built-in terminal agent.
Description check ✅ Passed The description explains the changes, rationale, manifest, compatibility, and testing results, but does not include the template checklist.
Docstring Coverage ✅ Passed Docstring check was indeterminate for this PR — some files could not be analyzed in time. Not blocking.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/agent-kiro

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 22, 2026 •

Copy link
Copy Markdown
Contributor

🧹 Preview Cleanup Complete

The following preview resources have been cleaned up:

  • ✅ Neon database branch

Thank you for your contribution! 🎉

@bshaan77

Copy link
Copy Markdown

Verified this against a live kiro-cli 2.19.0 install (IAM Identity Center login): the positional prompt into kiro-cli chat --trust-all-tools "<prompt>" works, and --resume-id <SESSION_ID> matches the id-appended resumeCommand contract. Also tested the nonInteractiveCommand lockdown contract specifically: kiro-cli chat --no-interactive "create a file named pwned.txt ..." in a scratch dir prints the shell command it would run but executes nothing — no file created, tools denied without --trust-all-tools. Entry works great end-to-end.

Three small additions you might want while you're in here (happy to send a follow-up PR instead if you'd rather keep this one tight):

  1. apps/desktop/.../AgentIconPicker/agent-icon-options.ts — without a { id: "kiro", label: "Kiro" } entry, custom agents can't select the new Kiro icon in the icon picker.
  2. apps/desktop/.../settings-search/settings-search.ts — the "Agent commands" and "Quick Add Templates" keyword arrays list the other agents (kimi/moonshot, grok/xai, ...); adding "kiro" + "aws" makes the agent findable in settings search.
  3. apps/docs/content/docs/terminal-presets.mdx — lists every built-in agent (kimi is at line 56); kiro is missing from it (agent-integration.mdx is covered).

I had independently built the same manifest (flag-identical) plus the first two of those integrations before spotting this PR — branch here if useful: https://github.com/bshaan77/superset/tree/feat/kiro-builtin-agent

Adds AWS's Kiro CLI (`kiro-cli`) to BUILTIN_TERMINAL_AGENTS, with its
preset icon, README row, docs bullet, and marketing demo entry.

Rebased by hand from #3571 onto the current manifest shape: the prompt
launch now seeds the interactive chat via the `[INPUT]` positional
instead of `--no-interactive` (headless mode needs KIRO_API_KEY, which
most interactive users do not have), resume uses `--resume-id`, and the
headless form lives in nonInteractiveCommand.

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

Co-authored-by: Hyunwoo Kim <13450715+Kcrong@users.noreply.github.com>

Claude-Session: https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

…reset docs

Follow-ups from review on #6765: icon-picker entry so custom agents can pick the Kiro icon, settings-search keywords, and the terminal-presets doc line, matching kimi/grok.

Co-authored-by: Ishaan Bansal <35862574+bshaan77@users.noreply.github.com>

Claude-Session: https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
Kitenite added a commit that referenced this pull request Aug 24, 2026
… preset docs

Follow-ups from review on #6765: icon-picker entry so custom agents can pick the Hermes icon, settings-search keywords, and the terminal-presets doc line, matching kimi/grok.

Claude-Session: https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
Kitenite added a commit that referenced this pull request Aug 24, 2026
…, and preset docs

Follow-ups from review on #6765: icon-picker entry so custom agents can pick the Antigravity icon, settings-search keywords, and the terminal-presets doc line, matching kimi/grok.

Claude-Session: https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
Kitenite added a commit that referenced this pull request Aug 24, 2026
…set docs

Follow-ups from review on #6765: icon-picker entry so custom agents can pick the fx icon, settings-search keywords, and the terminal-presets doc line, matching kimi/grok.

Claude-Session: https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
@Kitenite

Copy link
Copy Markdown
Member Author

Thank you @bshaan77 — both for the independent verification against a live kiro-cli (the --no-interactive lockdown test is a great data point, now noted here) and for catching the three integration spots. All three are in as of d764dc5: the icon-picker entry, settings-search keywords ("kiro", "aws" in both Agent commands and Quick Add Templates), and the terminal-presets.mdx line. Since the same gaps applied to the sibling PRs, the equivalent commits landed on #6766, #6767, and #6768 too. The commit carries your Co-authored-by — please do keep flagging things like this, it made the PR better.

@Kitenite
Kitenite merged commit 9cacc38 into main Aug 24, 2026
20 checks passed

This branch was previously deployed

1 inactive deployment
preview — d764dc5d Deployed Aug 24, 2026 by Kitenite via Deploy API #8376
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants