Skip to content

feat: add Kiro agent (kiro-cli)#302

Closed
mikeaadd wants to merge 4 commits intoroborev-dev:mainfrom
mikeaadd:main
Closed

feat: add Kiro agent (kiro-cli)#302
mikeaadd wants to merge 4 commits intoroborev-dev:mainfrom
mikeaadd:main

Conversation

@mikeaadd
Copy link
Contributor

@mikeaadd mikeaadd commented Feb 18, 2026

Summary

This is a work-in-progress experimentl. I'm a novice Go developer who wanted to add Kiro support and used Claude Code to help build it.

  • Implements the Agent interface for Kiro CLI (kiro-cli)
  • Prompt passed as a positional arg to kiro-cli chat --no-interactive
  • Agentic mode adds --trust-all-tools
  • WithModel is a no-op — kiro-cli has no --model flag
  • Adds Kiro to auto-discovery fallback order and help/error strings
  • Tests mirror the patterns used by other agents

Test plan

  • go test ./internal/agent/ passes
  • go test ./... green
  • roborev review --local --agent kiro --wait HEAD produces a review

mikeaadd and others added 2 commits February 18, 2026 16:33
Implements the Agent interface for Kiro CLI, mirroring the pattern used
by other agents. Prompt is passed as a positional argument to
`kiro-cli chat --no-interactive`; agentic mode adds `--trust-all-tools`.
WithModel is a no-op since kiro-cli does not expose a --model flag.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds "kiro" to the auto-discovery fallback order, the no-agents-available
error message, the expectedAgents test list, and both --agent flag
descriptions in the CLI.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@roborev-ci
Copy link

roborev-ci bot commented Feb 18, 2026

roborev: Combined Review (a270c120)

Verdict: One Medium-severity issue was found; otherwise the reviewed changes look solid.

Medium

  1. Prompt argument can be misparsed as CLI flaginternal/agent/kiro.go:74
    prompt is appended as a positional argument without an option terminator (--). If a prompt starts with -, kiro-cli may treat it as a flag instead of user content, which can cause incorrect behavior or failures.
    Suggested fix: append -- before the prompt if supported (args = append(args, "--", prompt)), or reject leading-- prompts with a clear validation error.

Synthesized from 4 reviews (agents: gemini, codex | types: security, default)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@roborev-ci
Copy link

roborev-ci bot commented Feb 19, 2026

roborev: Combined Review (07e2146e)

Verdict: One medium-severity parsing issue should be addressed before merge; no critical or high findings were identified.

Medium

  1. Potential truncation of valid review content
    File: internal/agent/kiro.go:27
    stripKiroOutput treats the first line starting with "> " as a start marker unconditionally. If Kiro output has no true marker but includes markdown blockquotes, earlier content can be dropped, including real findings.
    Recommendation: Only treat this as a marker in a constrained/expected position (for example, first non-empty line after known chrome); otherwise return the full ANSI-stripped output.

Synthesized from 4 reviews (agents: codex, gemini | types: security, default)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@roborev-ci
Copy link

roborev-ci bot commented Feb 19, 2026

roborev: Combined Review (11d3e55e)

Verdict: PR has 2 Medium-severity issues to address before merge; no Critical/High findings were reported.

Medium

  1. Potential output truncation/misparse due to loose start-marker detection

    • Location: internal/agent/kiro.go:32
    • Issue: stripKiroOutput treats the first "> " marker (within first 30 lines) as the start of real content. If the expected preamble marker is missing/changed and a normal blockquote appears early, valid content before that point can be dropped.
    • Suggested fix: Tighten marker detection (require a more specific signature/preamble) and add a test for “no marker present but early blockquote exists.”
  2. Large diffs can fail due to OS argument length limits (ARG_MAX)

    • Location: internal/agent/kiro.go:117 (also noted around prompt append logic)
    • Issue: Passing the full review prompt as a CLI argument (args = append(args, prompt)) can fail for large inputs on some systems.
    • Suggested fix: Prefer stdin or temp-file input if kiro-cli supports it; otherwise add explicit handling/error guidance for oversized prompts.

Synthesized from 4 reviews (agents: codex, gemini | types: security, default)

@wesm
Copy link
Collaborator

wesm commented Mar 3, 2026

closing in favor of #419

@wesm wesm closed this Mar 3, 2026
wesm added a commit that referenced this pull request Mar 3, 2026
## Summary

- Add `KiroAgent` implementing the `Agent` interface, invoking `kiro-cli
chat --no-interactive`
- Strip Kiro UI chrome (ANSI codes, splash screen, tip box, model line,
timing footer) from output
- Support agentic mode (`--trust-all-tools`), stderr fallback, and 512
KB prompt size guard
- Register `kiro` in the agent registry and add it to CLI help text and
`gh-action` workflow generation

Supersedes #302 — squashed and rebased onto current main with review
fixes applied.

Original implementation by @mikeaadd.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: mikeaadd <addonisio.m@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
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