Skip to content

feat: add Kiro CLI support (make install-kiro)#207

Open
naohito2000 wants to merge 1 commit into
mainfrom
naohito2000/kiro-support
Open

feat: add Kiro CLI support (make install-kiro)#207
naohito2000 wants to merge 1 commit into
mainfrom
naohito2000/kiro-support

Conversation

@naohito2000

Copy link
Copy Markdown
Contributor

Summary

Adds first-class Kiro CLI support so external/OSS users can run the full sdpm-vibe flow (Phase 1 orchestration + parallel Phase 2 composer sub-agents) from kiro-cli chat.

Kiro CLI subagents do not inherit the parent's MCP servers or trust (each subagent only reads its own ~/.kiro/agents/<role>.json), and there is no plugin mechanism to distribute agents/sdpm-composer.md — so until now the composer sub-agent could not call the sdpm MCP tools on Kiro CLI.

Changes

  • skills/sdpm-vibe/SKILL.md — Step 6 (dispatch) now branches by client: Task tool (Claude Code) keeps the existing sdpm:sdpm-composer flow unchanged; subagent tool (Kiro CLI) dispatches parallel stages with role sdpm-composer, reusing the same per-group prompt template. If the role is missing, the skill instructs the user to run make install-kiro and restart the session (no auto retry — the role list is fixed at session start).
  • clients/kiro/ (new)
    • sdpm-composer.json.tmpl — Kiro agent config template. prompt is a file:// reference to agents/sdpm-composer.md (no copy; git pull tracks), mcpServers.sdpm launches mcp-local via uv, and allowedTools includes read + @sdpm to prevent approval hangs.
    • install.py — idempotent installer: symlinks skills/* into ~/.kiro/skills/, renders {{CHECKOUT}} and writes ~/.kiro/agents/sdpm-composer.json, registers the sdpm MCP server in the global ~/.kiro/settings/mcp.json via kiro-cli mcp add (skips when present; --agent NAME targets a specific agent config; warns but still generates files when kiro-cli is absent).
  • Makefileinstall-kiro target.
  • README.md / README_ja.md — Kiro CLI setup section (clone → make install-kirokiro-cli chat; updates via git pull, reinstall only when the checkout moves).

The repo stays the single source of truth: only the mcpServers checkout path is baked in. Shared workflows under skill/references/, the CC plugin, ACP configs, and mcp-local are untouched.

Testing

  • install.py run twice against a temp $HOME: first run creates symlinks + agent config; second run is a no-op (idempotent)
  • kiro-cli agent validate --path ~/.kiro/agents/sdpm-composer.json → OK
  • Real-environment E2E: make install-kiro, then kiro-cli chat --agent sdpm-composer --no-interactive "call list_styles" → composer loaded the sdpm MCP server and executed list_styles without an approval prompt (allowedTools effective), returned aws-proserve
  • MCP stdio smoke test: initialize + tools/list → 21 tools exposed
  • make lint (ruff, incl. ruff check clients/) and make test → 295 passed, 1 skipped

… branch)

- skills/sdpm-vibe/SKILL.md: branch Step 6 dispatch by client — Task tool
  (Claude Code) keeps the existing sdpm:sdpm-composer flow; subagent tool
  (Kiro CLI) dispatches parallel stages with role sdpm-composer. If the
  role is missing, instruct the user to run make install-kiro and restart
  the session (no auto retry).
- clients/kiro/: new. sdpm-composer.json.tmpl (agent config template with
  file:// prompt reference and mcpServers pinned to the checkout;
  allowedTools includes read + @SDPM to avoid approval hangs) and
  install.py (idempotent: symlinks skills into ~/.kiro/skills/, renders
  the composer agent config, registers the sdpm MCP server via
  kiro-cli mcp add — global by default, --agent NAME optional).
- Makefile: add install-kiro target.
- README.md / README_ja.md: add Kiro CLI setup section
  (clone -> make install-kiro -> kiro-cli chat; git pull tracks updates).

Kiro CLI subagents do not inherit the parent's MCP servers or trust, and
there is no plugin mechanism to ship agents/sdpm-composer.md — so the
composer needs its own agent config with its own mcpServers/allowedTools.
The repo stays the single source of truth: skills are symlinks and the
composer prompt is a file:// reference.
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.

1 participant