6.1 KiB
PR #714 Implementation Plan
PR: feat: add Kiro IDE support
Issue: #682 - Add Kiro IDE integration
Status: Implementation in progress
Branch: feature/kiro-ide-714
Author: mrsaifullah52
📋 Issue Summary
Feature Request
Add support for Kiro IDE as a new IDE option in the BMAD installer. This includes:
- Adding Kiro to the list of supported IDEs
- Implementing Kiro IDE setup functionality
- Adding Kiro configuration to the installer
- Integrating Kiro into the interactive installer menu
Kiro IDE Details
- IDE Name: Kiro IDE
- Rule Directory:
.kiro/steering/ - Format: multi-file
- Command Suffix:
.md - Integration Method: Steering files with agent links
Supported IDEs (Updated)
Before: cursor, claude-code, windsurf, trae, roo, kilo, cline, gemini, qwen-code, github-copilot, codex, codex-web, auggie-cli, iflow-cli, opencode, other After: + kiro (in correct position alphabetically)
🎯 Solution Overview
Files to Modify
-
tools/installer/bin/bmad.js (3 changes)
- Update IDE list in command help text (add kiro)
- Add 'Kiro IDE' option to interactive menu
- Keep 'kilo' separate (Kilo Code)
-
tools/installer/config/install.config.yaml (10 additions)
- Add kiro IDE configuration block
- Define steering directory, format, command suffix
- Add Kiro-specific instructions
-
tools/installer/lib/ide-setup.js (33 additions)
- Implement
setupKiro()function - Create steering files in
.kiro/steering/ - Create bmad.md with inclusion header
- Generate agent links
- Implement
🔧 Technical Details
Change 1: bmad.js - Command Help Text (Line 52)
Before:
'Configure for specific IDE(s) - can specify multiple (cursor, claude-code, windsurf, trae, roo, kilo, cline, gemini, ...)'
After:
'Configure for specific IDE(s) - can specify multiple (cursor, claude-code, windsurf, trae, roo, kilo, kiro, cline, gemini, ...)'
Change 2: bmad.js - Interactive Menu (Line 405)
Add: { name: 'Kiro IDE', value: 'kiro' },
Position: After Kilo Code, before Cline
Change 3: install.config.yaml - Kiro Configuration (Lines 11-20)
New Section:
kiro:
name: Kiro IDE
rule-dir: .kiro/steering/
format: multi-file
command-suffix: .md
instructions: |
# To use BMad agents in Kiro IDE:
# 1. The installer creates agent files in `.kiro/steering/`.
# 2. The steering file `bmad.md` is always included.
# 3. Type *agent-name (e.g., "*agent-dev", "*agent-pm") to activate the agent.
Change 4: ide-setup.js - New setupKiro() Function (Lines 1394-1426)
Functionality:
- Create
.kiro/steering/directory - Get all agent IDs (or selected agent)
- For each agent:
- Find agent file path
- Read agent content
- Write to
.kiro/steering/{agentId}.md - Create agent link for bmad.md
- Create bmad.md with:
- Inclusion header:
---\ninclusion: always\n---\n - Introduction text about opening files
- Links to all agent files
- Inclusion header:
Key Pattern:
- Uses
fileManagerfor I/O operations - Uses
chalkfor console output (green checkmarks) - Follows existing IDE setup patterns (see setupCline, setupKilocode)
📊 Implementation Phases
Phase 1: Code Analysis ✅
- Retrieve PR #714 details from GitHub
- Get all modified files and patches
- Understand Kiro IDE requirements
- Identify all code changes needed
Phase 2: Apply Changes 🔄
- Update tools/installer/bin/bmad.js (2 changes)
- Update tools/installer/config/install.config.yaml (1 block)
- Update tools/installer/lib/ide-setup.js (1 new function + 1 case statement)
Phase 3: Validation
- Run npm validate
- Run npm lint
- Check for syntax errors
- Verify no regressions
Phase 4: Documentation
- Create comprehensive diffs
- Create patch summary
- Document test results
- Create final status report
Phase 5: Commit & GitHub
- Commit with proper message
- Post GitHub comment
- Mark ready for review
✅ Validation Checklist
Pre-Commit Validation
- All 3 files modified correctly
- 45 lines added, 1 line deleted (as per PR)
- setupKiro() function complete
- npm validate: All configs pass
- npm lint: No new errors
- No syntax errors
- Changes match PR spec exactly
Functionality Validation
- Kiro IDE added to help text
- Kiro in interactive menu
- Kiro config in install.config.yaml
- setupKiro() handles agent setup
- Steering directory structure correct
- bmad.md created with correct headers
Post-Commit Validation
- Commits with proper message
- Branch ready for merge
- Documentation comprehensive
- All tests passing
🎓 Key Points
- Feature Type: IDE Integration
- Scope: Medium - 3 files, 45 additions
- Complexity: Moderate - new setupKiro() function
- Impact: Extends IDE support list
- Backward Compatible: Yes - only additions
- Risk Level: Low - follows existing patterns
Related IDE Implementations
- Cursor: WebStorm-style rule files
- Claude Code: Similar to Cursor
- Cline: MCP server integration
- Kilo Code: Multi-file setup
- Kiro: Multi-file steering (similar to Kilo, but with inclusion header)
📝 Related Files
tools/installer/bin/bmad.js- CLI interfacetools/installer/config/install.config.yaml- Configurationtools/installer/lib/ide-setup.js- IDE setup logictools/installer/lib/file-manager.js- File I/O utilitiestools/installer/lib/base-ide-setup.js- Base class reference
🔍 Pattern References
File Structure
- Similar to:
setupKilocode()andsetupCline() - Pattern: Create directory → Get agents → Write files → Create index
- Console output: Use chalk for colored output
Configuration Pattern
From install.config.yaml:
ide-name:
name: Display Name
rule-dir: .ide/path/
format: single-file|multi-file
command-suffix: .md|.txt
instructions: |
Instructions for users
Next Steps: Apply changes to the three files and validate