Skip to content

Conversation

@shahrukhkhan489
Copy link

@shahrukhkhan489 shahrukhkhan489 commented Sep 18, 2025

🎯 Summary

This PR adds complete support for Kilo Code as a new AI assistant in the Spec Kit ecosystem. Kilo Code is treated as an IDE extension (similar to Cursor and GitHub Copilot) and includes full integration across all components.

Closes #282

✨ Features Added

🔧 Core Integration

  • CLI Support: Added Kilo Code to AI_CHOICES dictionary with proper validation
  • IDE Categorization: Correctly categorized as IDE extension (no CLI tool checking required)
  • Script Support: Both Bash and PowerShell variants for agent context management
  • Release Pipeline: Automatic .kilocodemodes file generation for Kilo Code packages

📚 Documentation Updates

  • README.md: Complete Kilo Code examples and CLI reference
  • Installation Guide: Prerequisites and setup instructions
  • Local Development: Development workflow examples
  • Contributing Guide: Updated with Kilo Code support

🛠️ Technical Implementation

  • Custom Modes Format: YAML-based .kilocodemodes file generation
  • Agent Context Scripts: Support for updating Kilo Code configuration
  • Template Integration: Plan templates include Kilo Code references
  • Workflow Updates: Release workflows support Kilo Code package generation

🔄 User Experience

Users can now initialize Spec Kit projects with Kilo Code support:

specify init my-project --ai kilocode

This generates:

  • Complete project structure with Spec-Driven Development commands
  • .kilocodemodes file with custom modes for Kilo Code
  • All necessary scripts and templates
  • Proper IDE integration (no additional CLI installation required)

🧪 Testing

  • ✅ End-to-end functionality verified
  • ✅ All merge conflicts resolved
  • ✅ Cross-platform compatibility (Bash & PowerShell)
  • ✅ Documentation accuracy confirmed

📊 Impact

This PR expands Spec Kit's AI assistant support matrix to include:

AI Assistant Type Status
Claude Code CLI Tool ✅ Existing
Gemini CLI CLI Tool ✅ Existing
Qwen Code CLI Tool ✅ Existing
opencode CLI Tool ✅ Existing
GitHub Copilot IDE Extension ✅ Existing
Cursor IDE Extension ✅ Existing
Kilo Code IDE Extension 🆕 NEW

🔗 Related Issues

✅ Checklist

  • CLI integration complete
  • Script support (Bash & PowerShell)
  • Documentation updated
  • Release pipeline configured
  • Testing completed
  • Merge conflicts resolved
  • Ready for production deployment

This PR brings Kilo Code support to Spec Kit, enabling users to leverage Kilo Code's capabilities within the Spec-Driven Development workflow! 🚀

Addresses: #282

@shahrukhkhan489
Copy link
Author

@localden Kindly review and merge the request

@vjaykrsna
Copy link

Kilo code, roo code and cline are identical
I think adding support for them will be easier if this get approved

@Larry-Home
Copy link

+1 for adding this as a supported platform.

Copy link
Contributor

@localden localden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, I think this is going in a good direction. I just have a few concerns with Kilo-specific code in the shell script.


# Apply other substitutions
body=$(printf '%s\n' "$body" | sed "s/{ARGS}/$arg_format/g" | sed "s/__AGENT__/$agent/g" | rewrite_paths)
# Special handling for Kilo Code YAML format
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is Kilo Code the only one using YAML?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope...Roo-Code and Cline use YAML as well
So once this works ....the same can be extended for the others as well

body=$(printf '%s\n' "$body" | sed "s/{ARGS}/$arg_format/g" | sed "s/__AGENT__/$agent/g" | rewrite_paths)
# Special handling for Kilo Code YAML format
if [ "$ext" = "yaml" ]; then
# Process body for Kilo Code format
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here - feels a bit odd that we're saying here that it's Kilo Code-targeted when YAML can be very generic. And if Kilo Code is using something that is "custom YAML," for example, we should make that explicit.

processed_content=$(echo "$file_content" | sed "s|{SCRIPT}|${script_command}|g")
yaml_body=$(echo "$processed_content" | awk '
BEGIN { in_body = 0 }
/^---$/ {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems... fragile? 😄

steps_lines.append(" - Run qwen /plan to create implementation plans")
steps_lines.append(" - Run qwen /tasks to generate tasks")
steps_lines.append(" - See QWEN.md for all available commands")
elif selected_ai == "kilocode":
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is no longer applicable - you should rebase to latest version.

"claude": "Claude Code",
"gemini": "Gemini CLI",
"cursor": "Cursor",
"kilocode": "Kilo Code",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any changes to __init__.py should be accompanied by a package version rev and update to the CHANGELOG.md

@localden localden added enhancement merge-candidate Reasonable change that is going to be merged after a review. labels Sep 20, 2025
@localden localden self-assigned this Sep 20, 2025
@shahrukhkhan489
Copy link
Author

i will rebase the code and resend the pull request for approval.....we can use markup instead of yaml using the kilo code workflow feature

@shahrukhkhan489
Copy link
Author

shahrukhkhan489 commented Sep 20, 2025

@localden Raised #394 for same

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement merge-candidate Reasonable change that is going to be merged after a review. new-agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: Add Kilo Code AI Assistant Support

4 participants