spec: add Kiro CLI agent integration spec for GH#9066#9858
spec: add Kiro CLI agent integration spec for GH#9066#9858rarean wants to merge 4 commits intowarpdotdev:masterfrom
Conversation
|
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 |
|
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 Powered by Oz |
|
@cla-bot check |
|
The cla-bot has been summoned, and re-checked this pull request! |
There was a problem hiding this comment.
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 | bashinstall 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
CLIAgentenum 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
There was a problem hiding this comment.
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 | bashinstall 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
CLIAgentenum 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
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.
|
/oz-review |
|
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 Powered by Oz |
There was a problem hiding this comment.
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
- 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
|
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 Powered by Oz |
There was a problem hiding this comment.
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
| false // Manual install until the plugin is stable | ||
| } | ||
|
|
||
| fn supports_update(&self) -> bool { |
There was a problem hiding this comment.
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.
- 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>
|
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 Powered by Oz |
There was a problem hiding this comment.
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
Kiroassignment can still activate the hidden agent whileFeatureFlag::KiroCLIAgentis 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
| agents were rolled out. Add `FeatureFlag::KiroCLIAgent` to `DOGFOOD_FLAGS` | ||
| initially. | ||
|
|
||
| **Important — all enum-iteration surfaces must be gated, not just command |
There was a problem hiding this comment.
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.
|
|
||
| 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 |
There was a problem hiding this comment.
| false // Manual install until the plugin is stable | ||
| } | ||
|
|
||
| fn supports_update(&self) -> bool { |
There was a problem hiding this comment.
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.
| 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.", |
There was a problem hiding this comment.
💡 [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.
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
ready-to-specorready-to-implement.Issue is labeled ready-to-spec:
Support Kiro CLI Agent Integration in Warp #9066
What's Included
specs/GH9066/product.md — 13 behavior invariants covering:
specs/GH9066/tech.md — 5 concrete code changes:
Also adds .kiro/ to .gitignore.
Testing
Agent Mode
CHANGELOG-IMPROVEMENT: Kiro CLI as a first-class CLI agent in Warp