Skip to content

feat(installer): restore KiloCoder support and installer#2151

Merged
bmadcode merged 3 commits intomainfrom
support/kilo-code
Mar 29, 2026
Merged

feat(installer): restore KiloCoder support and installer#2151
bmadcode merged 3 commits intomainfrom
support/kilo-code

Conversation

@alexeyv
Copy link
Copy Markdown
Collaborator

@alexeyv alexeyv commented Mar 28, 2026

Kilo Code now supports Agent Skills. Remove the suspended flag, restore it in the IDE picker, and replace the suspended test suite with a full native-skills installation test (10 assertions covering config, IDE picker visibility, install, skill output, legacy cleanup, and reinstall).

Kilo Code now supports Agent Skills. Remove the suspended flag,
restore it in the IDE picker, and replace the suspended test suite
with a full native-skills installation test.

- Remove suspended message from platform-codes.yaml
- Rewrite test suite 22: config, IDE picker, install, skill output,
  legacy cleanup, and reinstall assertions
- Update migration checklist to reflect active status

Co-authored-by: Junie <junie@jetbrains.com>
@augmentcode
Copy link
Copy Markdown

augmentcode bot commented Mar 28, 2026

🤖 Augment PR Summary

Summary: This PR restores KiloCoder (Kilo Code) support in the BMAD installer now that it supports Agent Skills.

Changes:

  • Removes the suspended flag from the KiloCoder platform config so it appears in the IDE picker and is no longer blocked during setup
  • Replaces the old “KiloCoder suspended” test suite with a native-skills installation test that validates config, install output, legacy cleanup, and reinstall/upgrade behavior
  • Updates the native-skills migration checklist to reflect KiloCoder as supported and tested

Technical Notes: KiloCoder uses .kilocode/skills as target_dir and retains legacy cleanup for prior .kilocode/workflows output.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

assert(kiloConfig22?.installer?.target_dir === '.kilocode/skills', 'KiloCoder target_dir uses native skills path');

assert(
Array.isArray(kiloConfig22?.installer?.legacy_targets) && kiloConfig22.installer.legacy_targets.includes('.kilocode/workflows'),
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

test/test-installation-components.js:1057 — Suite 22 validates cleanup for .kilocode/workflows, but the Kilo config-driven cleanup also handles .kilocodemodes (via cleanupKiloModes()), which isn’t exercised/verified here. If .kilocodemodes cleanup is part of the intended migration guarantee, it may be worth adding an assertion for it so regressions don’t slip through.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 28, 2026

📝 Walkthrough

Walkthrough

KiloCoder transitions from a suspended state to full native-skills support. Test suite 22 now expects successful installation with SKILL.md output and reinstall capability, the migration checklist tracks completion of native-skills implementation, and the platform configuration removes the suspended flag that previously blocked KiloCoder.

Changes

Cohort / File(s) Summary
Test Suite Updates
test/test-installation-components.js
Suite 22 renamed from "KiloCoder Suspended" to "KiloCoder Native Skills". Changed from expecting failed installation (success === false, error === 'suspended') to successful native-skills installation (success === true). Now validates SKILL.md output creation, directory structure at .kilocode/skills, legacy .kilocode/workflows cleanup, and reinstall/upgrade behavior. Verifies KiloCoder IDE is available (not hidden) and appears in IDE picker.
Migration Documentation
tools/docs/native-skills-migration-checklist.md
Updated KiloCoder section from suspended/non-supported status to active migration checklist. Removed references to suspension state and "not supporting Agent Skills standard". Added concrete completion steps: confirming native skills path (.kilocode/skills), verifying legacy cleanup (.kilocode/workflows, .kilocodemodes), expanded test coverage for config/IDE picker/install output/reinstall flow. Marked section as completed.
Platform Configuration
tools/installer/ide/platform-codes.yaml
Removed suspended field from KiloCoder platform entry, eliminating the configuration-level block that prevented KiloCoder from appearing in installer options.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • bmadcode
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: restoring KiloCoder support by removing the suspended flag and updating the installer.
Description check ✅ Passed The description clearly relates to the changeset, detailing the removal of the suspended flag, restoration in the IDE picker, and replacement of the test suite with comprehensive native-skills tests.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch support/kilo-code

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@tools/docs/native-skills-migration-checklist.md`:
- Around line 213-214: Add a test case to Test Suite 22 that pre-populates a
legacy .kilocodemodes file and asserts the _config-driven.js cleanup logic
removes or strips BMAD-owned modes; specifically, in the Suite 22 setup (where
tempProjectDir22 and legacy_targets are used) write a .kilocodemodes fixture
(e.g., containing a bmad_owned_mode entry) before running the setup, then after
setup assert the file is deleted or its BMAD entries are removed to cover the
cleanup path implemented in _config-driven.js.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8017dc91-8d51-4844-9e33-7d4869cf2295

📥 Commits

Reviewing files that changed from the base of the PR and between fa909a8 and 41a23e4.

📒 Files selected for processing (3)
  • test/test-installation-components.js
  • tools/docs/native-skills-migration-checklist.md
  • tools/installer/ide/platform-codes.yaml
💤 Files with no reviewable changes (1)
  • tools/installer/ide/platform-codes.yaml

Comment on lines +213 to +214
- [x] Legacy cleanup for `.kilocode/workflows` and `.kilocodemodes`
- [x] Automated tests — suite 22 (config, IDE picker, install, skill output, legacy cleanup, reinstall)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if .kilocodemodes is defined in platform-codes.yaml for kilo
rg -A 20 '^  kilo:' tools/installer/ide/platform-codes.yaml | rg -i 'kilocodemodes|legacy_targets'

Repository: bmad-code-org/BMAD-METHOD

Length of output: 112


🏁 Script executed:

# Get the exact checklist content around lines 213-214
sed -n '208,220p' tools/docs/native-skills-migration-checklist.md

Repository: bmad-code-org/BMAD-METHOD

Length of output: 740


🏁 Script executed:

# Get full kilo platform config to see what legacy_targets actually contains
rg -A 30 '^\s+kilo:' tools/installer/ide/platform-codes.yaml | head -60

Repository: bmad-code-org/BMAD-METHOD

Length of output: 653


🏁 Script executed:

# Search for any reference to kilocodemodes in tests or config
rg -i 'kilocodemodes' tools/

Repository: bmad-code-org/BMAD-METHOD

Length of output: 920


🏁 Script executed:

# Check Suite 22 tests to see what legacy cleanup assertions exist
rg -B 5 -A 10 'suite.*22|describe.*22' test/test-installation-components.js | head -100

Repository: bmad-code-org/BMAD-METHOD

Length of output: 51


🏁 Script executed:

# Look for legacy cleanup assertions in Suite 22
rg -B 3 -A 3 'kilocode.*legacy|legacy.*kilocode' test/test-installation-components.js

Repository: bmad-code-org/BMAD-METHOD

Length of output: 1192


🏁 Script executed:

# Get the full Suite 22 to see what's being tested
sed -n '1000,1150p' test/test-installation-components.js

Repository: bmad-code-org/BMAD-METHOD

Length of output: 6834


Test Suite 22 does not verify .kilocodemodes cleanup despite implementation.

The checklist accurately states that legacy cleanup covers both .kilocode/workflows and .kilocodemodes. However, the two are handled by different mechanisms: .kilocode/workflows is removed via legacy_targets (tested in Suite 22), while .kilocodemodes has separate cleanup code in _config-driven.js that strips BMAD-owned modes. Suite 22's test setup pre-populates only .kilocode/workflows and verifies its removal, leaving the .kilocodemodes cleanup path untested. Add a test fixture and assertion for .kilocodemodes cleanup:

// Pre-populate legacy kilocodemodes
await fs.writeFile(path.join(tempProjectDir22, '.kilocodemodes'), 'bmad_owned_mode\n');
// After setup, verify cleanup occurred (or clarify if this cleanup is optional)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tools/docs/native-skills-migration-checklist.md` around lines 213 - 214, Add
a test case to Test Suite 22 that pre-populates a legacy .kilocodemodes file and
asserts the _config-driven.js cleanup logic removes or strips BMAD-owned modes;
specifically, in the Suite 22 setup (where tempProjectDir22 and legacy_targets
are used) write a .kilocodemodes fixture (e.g., containing a bmad_owned_mode
entry) before running the setup, then after setup assert the file is deleted or
its BMAD entries are removed to cover the cleanup path implemented in
_config-driven.js.

@bmadcode bmadcode merged commit 04513e5 into main Mar 29, 2026
5 checks passed
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