Skip to content

spec: add Kiro CLI agent integration spec for GH#9066#9858

Open
rarean wants to merge 4 commits intowarpdotdev:masterfrom
rarean:spec/9066-kiro-cli
Open

spec: add Kiro CLI agent integration spec for GH#9066#9858
rarean wants to merge 4 commits intowarpdotdev:masterfrom
rarean:spec/9066-kiro-cli

Conversation

@rarean
Copy link
Copy Markdown

@rarean rarean commented May 1, 2026

Description

Add product and tech specs for supporting Kiro CLI as a first-class CLI agent in Warp, alongside Claude Code, Codex, Gemini, and others.

Linked Issue

What's Included

specs/GH9066/product.md — 13 behavior invariants covering:

  • Command detection and Kiro-branded footer
  • Rich input composer (Ctrl-G) and prompt submission via PTY
  • Plugin install/update instructions pane
  • Real-time session status tracking (InProgress/Blocked/Success)
  • Settings page entry, telemetry, shared session serialization
  • Graceful degradation when plugin is not installed

specs/GH9066/tech.md — 5 concrete code changes:

  • CLIAgent::Kiro variant + all exhaustive match arms (cli_agent.rs)
  • Icon::KiroLogo + brand color constant (icons.rs + assets/)
  • CLIAgentType::Kiro telemetry variant (events.rs)
  • FeatureFlag::KiroCLIAgent gating in DOGFOOD_FLAGS (features.rs)
  • KiroPluginManager + kiro.rs + kiro_tests.rs (plugin_manager/)

Also adds .kiro/ to .gitignore.

Testing

  • verified both files render correctly in github
  • reviewed PR change requests with Oz and Claude

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

CHANGELOG-IMPROVEMENT: Kiro CLI as a first-class CLI agent in Warp

@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented May 1, 2026

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have the users @rarean on file. In order for us to review and merge your code, each contributor must visit https://cla.warp.dev to read and agree to our CLA. Once you have done so, please comment @cla-bot check to trigger another check.

@github-actions github-actions Bot added the external-contributor Indicates that a PR has been opened by someone outside the Warp team. label May 1, 2026
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 1, 2026

@rarean

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@rarean
Copy link
Copy Markdown
Author

rarean commented May 1, 2026

@cla-bot check

@cla-bot cla-bot Bot added the cla-signed label May 1, 2026
@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented May 1, 2026

The cla-bot has been summoned, and re-checked this pull request!

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds product and technical specs for making Kiro CLI a first-class CLI agent and ignores local Kiro/artifact directories.

Concerns

  • The technical spec proposes an executable curl | bash install command in Warp's plugin instructions UI, which would encourage running a remote script through the terminal from the product.
  • The settings-page implementation guidance points at a file that does not exist and does not account for the current settings UI's lack of per-agent documentation links.
  • The feature-flag guidance only gates command detection, but adding a CLIAgent enum variant also exposes it through enum-iteration consumers such as settings dropdowns unless those surfaces are gated too.

Security

  • The proposed executable installer command should be replaced with link-only guidance or a non-executable, verifiable installation path before the spec is used for implementation.

Verdict

Found: 0 critical, 3 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread specs/GH9066/tech.md Outdated
Comment thread specs/GH9066/tech.md
Comment thread specs/GH9066/tech.md Outdated
Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds product and technical specs for making Kiro CLI a first-class CLI agent and ignores local Kiro/artifact directories.

Concerns

  • The technical spec proposes an executable curl | bash install command in Warp's plugin instructions UI, which would encourage running a remote script through the terminal from the product.
  • The settings-page implementation guidance points at a file that does not exist and does not account for the current settings UI's lack of per-agent documentation links.
  • The feature-flag guidance only gates command detection, but adding a CLIAgent enum variant also exposes it through enum-iteration consumers such as settings dropdowns unless those surfaces are gated too.

Security

  • The proposed executable installer command should be replaced with link-only guidance or a non-executable, verifiable installation path before the spec is used for implementation.

Verdict

Found: 0 critical, 3 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread specs/GH9066/tech.md Outdated
Comment thread specs/GH9066/tech.md
Comment thread specs/GH9066/tech.md Outdated
Add product and tech specs for supporting Kiro CLI as a first-class
CLI agent in Warp, alongside Claude Code, Codex, Gemini, and others.

Issue is labeled ready-to-spec:
warpdotdev#9066

specs/GH9066/product.md — 13 behavior invariants covering:
- Command detection and Kiro-branded footer
- Rich input composer (Ctrl-G) and prompt submission via PTY
- Plugin install/update instructions pane
- Real-time session status tracking (InProgress/Blocked/Success)
- Settings page entry, telemetry, shared session serialization
- Graceful degradation when plugin is not installed

specs/GH9066/tech.md — 5 concrete code changes:
- CLIAgent::Kiro variant + all exhaustive match arms (cli_agent.rs)
- Icon::KiroLogo + brand color constant (icons.rs + assets/)
- CLIAgentType::Kiro telemetry variant (events.rs)
- FeatureFlag::KiroCLIAgent gating in DOGFOOD_FLAGS (features.rs)
- KiroPluginManager + kiro.rs + kiro_tests.rs (plugin_manager/)

Also adds .kiro/ to .gitignore.
@rarean rarean force-pushed the spec/9066-kiro-cli branch from 5597de0 to b191c61 Compare May 1, 2026 22:03
@rarean
Copy link
Copy Markdown
Author

rarean commented May 1, 2026

/oz-review

@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 1, 2026

@rarean

I'm re-reviewing this pull request in response to a review request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds product and tech specs for Kiro CLI as a first-class CLI agent, plus ignores local .artifacts/ and .kiro/ directories.

Concerns

  • The product spec requires a settings entry with a documentation link, while the tech spec says the current settings UI has no per-agent documentation link and needs no explicit settings change.
  • The proposed Kiro plugin instructions only install/verify the Kiro CLI, not the Warp plugin/event protocol required for real-time status tracking.
  • The product spec promises update instructions, but the proposed plugin manager disables update support and returns empty update instructions.
  • The final plugin-manager factory snippet conflicts with the earlier feature-flag gating guidance and does not match the current Option-returning factory signature.
  • Security pass: no security-specific issues were identified in this documentation-only diff.

Verdict

Found: 0 critical, 4 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread specs/GH9066/product.md Outdated
Comment thread specs/GH9066/tech.md
Comment thread specs/GH9066/tech.md
Comment thread specs/GH9066/tech.md Outdated
@rarean rarean marked this pull request as draft May 1, 2026 22:39
rarean added 2 commits May 1, 2026 17:42
- Replace executable install step with link-only Warp plugin/event
  protocol guidance (no curl|bash, no executable:true steps)
- Resolve settings contradiction: defer per-agent doc link to follow-up;
  both product.md and tech.md now agree on what ships initially
- Add real update instructions (UPDATE_INSTRUCTIONS static, supports_update
  = true) replacing the empty placeholder
- Fix factory snippet to use Option-returning, feature-flag-guarded pattern
  matching the actual plugin_manager_for_with_shell() signature
- Update kiro_tests.rs requirements to cover update_instructions() and
  supports_update() smoke tests
@rarean rarean marked this pull request as ready for review May 1, 2026 23:28
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 1, 2026

@rarean

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds product and technical specs for integrating Kiro CLI as a first-class CLI agent, plus ignore rules for local artifacts and Kiro configuration.

Concerns

  • The product spec's remote-session behavior conflicts with both the degraded-mode behavior and the current/technical plan for showing plugin instructions.
  • The technical spec's plugin-manager guard omits the global HOA notifications kill switch used by existing notification plugin managers.
  • The proposed Kiro plugin manager claims update support without specifying installation/version detection needed for the local outdated-plugin flow.
  • Security pass found no changed executable code paths, new dependencies, or committed secrets.

Verdict

Found: 0 critical, 3 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread specs/GH9066/product.md Outdated
Comment thread specs/GH9066/tech.md Outdated
Comment thread specs/GH9066/tech.md
false // Manual install until the plugin is stable
}

fn supports_update(&self) -> bool {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] This claims update support, but the skeleton leaves is_installed()/needs_update() at their defaults and uses minimum_plugin_version() == "0.0.0", so the local outdated-plugin path in product behavior #7 is unreachable; specify real version detection or make updates a follow-up with supports_update() == false.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/oz-review

- Fix product.md warpdotdev#10: remote SSH sessions show footer via command
  detection but suppress install/update instructions pane; aligns
  with degraded-mode behavior described in warpdotdev#5
- Fix tech.md plugin-manager guard: add HOANotifications kill switch
  (required by all non-Claude agents in mod.rs)
- Fix tech.md KiroPluginManager: set supports_update=false and use
  EMPTY_INSTRUCTIONS for update_instructions, matching CodexPluginManager
  pattern (no versioned Warp plugin for Kiro exists yet)

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 1, 2026

@rarean

I'm re-reviewing this pull request in response to a review request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds product and technical specs for first-class Kiro CLI agent support plus ignores local Kiro/artifact directories.

Concerns

  • The tech spec does not gate persisted custom-command mappings, so a saved Kiro assignment can still activate the hidden agent while FeatureFlag::KiroCLIAgent is disabled.
  • The remote-session behavior says plugin install/update instructions are not shown, but the current generic CLI-agent footer code intentionally shows manual install instructions for remote sessions.
  • The product spec requires update instructions for outdated plugins, while the tech spec disables update support and returns empty update instructions.
  • The proposed install instructions are not concrete enough to render an actionable in-app plugin pane.

Verdict

Found: 0 critical, 3 important, 1 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread specs/GH9066/tech.md
agents were rolled out. Add `FeatureFlag::KiroCLIAgent` to `DOGFOOD_FLAGS`
initially.

**Important — all enum-iteration surfaces must be gated, not just command
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] The gating list misses persisted custom-command mappings: CompiledCommandsForCodingAgentToolbar::parse/matched_agent deserializes saved values through CLIAgent::from_serialized_name, so a stored Kiro mapping can still activate Kiro via a custom regex while KiroCLIAgent is disabled; add a guard/fallback there to satisfy product behavior #8.

Comment thread specs/GH9066/product.md

10. In a remote SSH terminal pane, the Kiro footer and rich input still appear
when a `kiro` command is detected (via command detection, same as local),
but plugin install and update instructions are not shown because the Warp
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] Current generic plugin-chip behavior does show manual install instructions for remote CLI-agent sessions, so this needs a Kiro-specific suppression change in the tech spec or the product behavior should align with the existing remote install pane.

Comment thread specs/GH9066/tech.md
false // Manual install until the plugin is stable
}

fn supports_update(&self) -> bool {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] This contradicts product behavior #7: with supports_update() == false and empty update instructions, Warp will never show update instructions for an out-of-date Kiro plugin; either remove that product requirement or spec version detection plus real update instructions.

Comment thread specs/GH9066/tech.md
link: Some("https://kiro.dev/downloads/"),
},
PluginInstructionStep {
description: "Enable the Warp plugin in your Kiro configuration so that Kiro emits structured status events that Warp can display. See the Kiro documentation for the exact config key.",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 [SUGGESTION] Replace this generic docs handoff with the exact Kiro config key/command snippet before implementation so the in-app instructions pane is actionable instead of sending users to search the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed external-contributor Indicates that a PR has been opened by someone outside the Warp team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant