Repository navigation
[Feature]: Update Kilo(Code) support #3635
Description
Activity
Feel free to pick this one up. The bug-assess workflow assessment below should get you started
github-actions commented
on Jul 22, 2026 on Jul 22, 2026 – with GitHub ActionsContributorMore actionsBug assessment — kilocode-config-outdated: Valid · severity medium
Bug Assessment: Kilo Code Integration Config Outdated
- Slug:
kilocode-config-outdated - Created: 2026-07-22T10:23:49Z
- Source: issue [Feature]: Update Kilo(Code) support #3635
- Verdict: valid
- Severity: medium
Report (summarized)
Reported by @ItachiSan. The Kilo Code integration in
src/specify_cli/integrations/kilocode/__init__.pyuses outdated paths and metadata:- Workflow files are written to
.kilocode/workflowsbut the current Kilo app stores custom workflows under.kilo/commands. - The integration sets
requires_cli: Falseandinstall_url: None, but Kilo now ships a CLI namedkilo.
Reference: (kilo.ai/redacted) (external docs — not fetched, referenced from issue).
Symptom
When
specify initis run with--integration kilocode, workflow files land in.kilocode/workflows/instead of.kilo/commands/, so Kilo never loads them. Additionally, ifkilois installed, the CLI presence is not checked or reported during init.Reproduction
- Install Specify CLI and run
specify init my-project --integration kilocode. - Observe that files are created under
my-project/.kilocode/workflows/. - Open Kilo Code and notice that the commands are not discoverable because Kilo reads from
.kilo/commands/.
Suspected Code Paths
src/specify_cli/integrations/kilocode/__init__.py:10—"folder": ".kilocode/"uses the old directory prefix; should be".kilo/".src/specify_cli/integrations/kilocode/__init__.py:11—"commands_subdir": "workflows"uses the old subdir; should be"commands".src/specify_cli/integrations/kilocode/__init__.py:16—"dir": ".kilocode/workflows"inregistrar_config; should be".kilo/commands".src/specify_cli/integrations/kilocode/__init__.py:13—"requires_cli": Falseand"install_url": None; ifkilois a real CLI,requires_clishould beTrueandinstall_urlshould point to the Kilo install page.tests/integrations/test_integration_kilocode.py:8–10— hardcodes the old paths; test assertions will pass with wrong values until the fix is made.
Root Cause Hypothesis
The Kilo Code integration was written for an older version of the app that used
.kilocode/workflows. Kilo later renamed/moved its config directory to.kilo/commands. The integration was never updated to track this upstream change. Therequires_cliandinstall_urlfields were left asNone/Falsebecause the CLI may not have existed when the integration was originally authored. Confidence: high — the issue directly cites the current Kilo documentation and the code clearly shows the old paths.Proposed Remediation
Preferred: Update
KilocodeIntegrationinsrc/specify_cli/integrations/kilocode/__init__.py:- Change
"folder"from".kilocode/"to".kilo/". - Change
"commands_subdir"from"workflows"to"commands". - Change
registrar_config["dir"]from".kilocode/workflows"to".kilo/commands". - Set
"requires_cli": Trueand set"install_url"to the Kilo install URL (confirm the exact URL from (kilo.ai/redacted)), and updatekeyto"kilo"if that is the actual executable name (per the AGENTS.md rule: for CLI-based integrations,keymust match the executable). If the class key changes, the subpackage directory and test filename must also be updated accordingly.
Alternatives:
- Keep
requires_cli: Falseif Kilo Code is primarily an IDE extension and the CLI is optional. In that case only the path changes (folder,commands_subdir,registrar_config.dir) are strictly necessary.
Files likely to change:
src/specify_cli/integrations/kilocode/__init__.pytests/integrations/test_integration_kilocode.py(updateFOLDER,COMMANDS_SUBDIR,REGISTRAR_DIRconstants)
Tests to add or update:
- Update
FOLDER = ".kilo/",COMMANDS_SUBDIR = "commands",REGISTRAR_DIR = ".kilo/commands"inTestKilocodeIntegration. - If the key changes to
"kilo", rename the test file totest_integration_kilo.pyand updateKEY.
Risks & Considerations
- Existing projects: Users who already ran
specify init --integration kilocodewill have files in.kilocode/workflows/. A migration path or at least a note in release notes is advisable. - Key rename: If
keychanges from"kilocode"to"kilo"(to match the CLI executable), the integration registry key changes, which could break projects that store the key in config. Verify whether.specify/manifests embed the key. - CLI availability: Confirm that
kilois the correct executable name before settingrequires_cli: True— an incorrect name would cause everyspecify initwith this integration to fail the CLI check.
Open Questions
- [NEEDS CLARIFICATION: What is the exact executable name of the Kilo CLI? The issue says
kilo— this should be confirmed before settingkey = "kilo"andrequires_cli: True.] - [NEEDS CLARIFICATION: What is the canonical install URL for the Kilo CLI?]
- [NEEDS CLARIFICATION: Is
.kilo/commandsthe correct current path, or has it changed again? The reporter links to (kilo.ai/redacted) — a maintainer should verify against current Kilo docs before merging.]
Generated by 🐛 Assess Bug from Labeled Issue for issue #3635 · 79.9 AIC · ⌖ 11.1 AIC · ⊞ 31.8K · ◷
- Slug:
Problem Statement
Hello,
I've noticed Kilo(Code) support is quite behind.
The integration, from my understanding sits here:
https://github.com/github/spec-kit/blob/main/src/specify_cli/integrations/kilocode/__init__.py
Namely:
.kilocode/workflows, it should be.kilo/commands.See here: https://kilo.ai/docs/customize/workflows
kilo, that can be integrated in the check.I would like to contribute if needed; just point me out to the "how to add an agent" docs and I can fix stuff. 😄
Proposed Solution
Fix all the things!
Alternatives Considered
For now, moving the generated files from
.kilocode/workflowsto.kilo/commandssolves the first problem.Component
Specify CLI (initialization, commands)
AI Agent (if applicable)
Kilo Code
Use Cases
No response
Acceptance Criteria
No response
Additional Context
No response