Skip to content

feat: Add Kiro IDE and Kiro CLI support with global mode#785

Closed
maekawataiki wants to merge 4 commits intodyoshikawa:mainfrom
maekawataiki:feat/kiro
Closed

feat: Add Kiro IDE and Kiro CLI support with global mode#785
maekawataiki wants to merge 4 commits intodyoshikawa:mainfrom
maekawataiki:feat/kiro

Conversation

@maekawataiki
Copy link
Contributor

@maekawataiki maekawataiki commented Jan 6, 2026

Summary

Adds comprehensive support for Kiro IDE and Kiro CLI as new tool targets, including global mode support for both.

Features Added

Tool rules mcp commands subagents skills
Kiro IDE ✅ 🌏 ✅ 🌏 - 🌏
Kiro CLI ✅ 🌏 ✅ 🌏 ✅ 🌏 ✅ 🌏 -

✅ = project mode, 🌏 = global mode

Implementation Details

Kiro IDE:

  • Steering files output to .kiro/steering/ for global with root file at product.md (since ~/AGENTS.md is not supported)
  • MCP configuration at .kiro/settings/mcp.json (~/.kiro/settings/mcp.json for global)
  • Commands (hooks) at .kiro/hooks/*.kiro.hook
  • Subagents does not support individual prompt for each subagent, so it is not implemented yet
  • Skills (powers) at ~/.kiro/powers/installed/*/SKILL.md (only global scope is supported at this moment)

Kiro CLI:

  • Steering files (same as IDE)
  • MCP configuration (same as IDE)
  • Commands (prompts) at .kiro/prompts/.md (~/.kiro/prompts/.md for global)
  • Subagents at .kiro/agents/.json (uses .json extension unlike other tools) (~/.kiro/agents/.json for global)
  • Skills not supported yet. (planned according to the launch blog)

Technical Changes

  • Kiro IDE / Kiro CLI support
  • additional test to cover project / global import and generate
  • Added outputBaseDir parameter to toRulesyncMcp() for explicit control over import output location

Why outputBaseDir was added to toRulesyncMcp()

In global mode, two directories diverge:

  • baseDir: Home directory (~) for tool files (e.g., ~/.kiro/settings/mcp.json)
  • Rulesync output: Current working directory where rulesync import runs

According to the README, global mode should work from any directory (e.g., ~/.aiglobal):

cd ~/.aiglobal
npx rulesync import --targets claudecode --features rules --global
# Expected: ~/.aiglobal/.rulesync/rules/CLAUDE.md

However, the current main branch implementation writes to ~/.rulesync/rules/CLAUDE.md regardless of process.cwd(), because toRulesyncMcp() uses baseDir (home directory in global mode) for output.

This PR changes the default output to process.cwd(), matching the README's documented behavior.

Question for maintainer: Which behavior is intended?

  1. Current main: Always write to ~/.rulesync/ in global mode
  2. This PR: Write to process.cwd()/.rulesync/ (e.g., ~/.aiglobal/.rulesync/)

If option 1 is intended, I'll revert this change and update the README instead.

Alternatively, if the global mode design isn't finalized yet, I can remove global mode support from this PR entirely and focus only on project mode for
Kiro IDE/CLI. We can add global support in a follow-up PR once the design is settled.

Testing

All tests passing. pnpm cicheck:code passes.

@dyoshikawa
Copy link
Owner

dyoshikawa commented Jan 7, 2026

@maekawataiki Thank you so much. However this PR is too large to me. So please split it. For example, first, you can create a PR about Skills feature.

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