You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -52,30 +52,30 @@ Most agents only need `MarkdownIntegration` — a minimal subclass with zero met
52
52
53
53
Create `src/specify_cli/integrations/<package_dir>/__init__.py`, where `<package_dir>` is the Python-safe directory name derived from `<key>`: use the key as-is when it contains no hyphens (e.g., key `"gemini"` → `gemini/`), or replace hyphens with underscores when it does (e.g., key `"kiro-cli"` → `kiro_cli/`). The `IntegrationBase.key` class attribute always retains the original hyphenated value, since that is what the CLI and registry use. For CLI-based integrations (`requires_cli: True`), the `key` should match the actual CLI tool name (the executable users install and run) so CLI checks can resolve it correctly. For IDE-based integrations (`requires_cli: False`), use the canonical integration identifier instead.
54
54
55
-
**Minimal example — Markdown agent (Windsurf):**
55
+
**Minimal example — Markdown agent (Kilo Code):**
56
56
57
57
```python
58
-
"""Windsurf IDE integration."""
58
+
"""Kilo Code IDE integration."""
59
59
60
60
from ..base import MarkdownIntegration
61
61
62
62
63
-
classWindsurfIntegration(MarkdownIntegration):
64
-
key ="windsurf"
63
+
classKilocodeIntegration(MarkdownIntegration):
64
+
key ="kilocode"
65
65
config = {
66
-
"name": "Windsurf",
67
-
"folder": ".windsurf/",
66
+
"name": "Kilo Code",
67
+
"folder": ".kilocode/",
68
68
"commands_subdir": "workflows",
69
69
"install_url": None,
70
70
"requires_cli": False,
71
71
}
72
72
registrar_config = {
73
-
"dir": ".windsurf/workflows",
73
+
"dir": ".kilocode/workflows",
74
74
"format": "markdown",
75
75
"args": "$ARGUMENTS",
76
76
"extension": ".md",
77
77
}
78
-
context_file =".windsurf/rules/specify-rules.md"
78
+
context_file =".kilocode/rules/specify-rules.md"
79
79
```
80
80
81
81
**TOML agent (Gemini):**
@@ -152,7 +152,7 @@ class CodexIntegration(SkillsIntegration):
|`context_file`| Class attribute (str or None) | Path to agent context/instructions file (e.g., `"CLAUDE.md"`, `".github/copilot-instructions.md"`) |
154
154
155
-
**Key design rule:** For CLI-based integrations (`requires_cli: True`), `key` must be the actual executable name (e.g., `"cursor-agent"` not `"cursor"`). This ensures `shutil.which(key)` works for CLI-tool checks without special-case mappings. IDE-based integrations (`requires_cli: False`) should use their canonical identifier (e.g., `"windsurf"`, `"copilot"`).
155
+
**Key design rule:** For CLI-based integrations (`requires_cli: True`), `key` must be the actual executable name (e.g., `"cursor-agent"` not `"cursor"`). This ensures `shutil.which(key)` works for CLI-tool checks without special-case mappings. IDE-based integrations (`requires_cli: False`) should use their canonical identifier (e.g., `"kilocode"`, `"copilot"`).
156
156
157
157
### 3. Register it
158
158
@@ -203,8 +203,8 @@ Only add custom setup logic when the agent needs non-standard behavior. Integrat
203
203
specify init my-project --integration <key>
204
204
205
205
# Verify files were created in the commands directory configured by
206
-
# config["folder"] + config["commands_subdir"] (for example, .windsurf/workflows/)
207
-
ls -R my-project/.windsurf/workflows/
206
+
# config["folder"] + config["commands_subdir"] (for example, .kilocode/workflows/)
207
+
ls -R my-project/.kilocode/workflows/
208
208
209
209
# Uninstall cleanly
210
210
cd my-project && specify integration uninstall <key>
Copy file name to clipboardExpand all lines: docs/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ Define what to build before building it. Rich templates, quality checklists, and
31
31
32
32
### Use any coding agent
33
33
34
-
<spanclass="pillar-stat">30+ integrations</span> — Copilot, Gemini, Codex, Windsurf, Zed, Claude, Forge, Kiro, and more. Switch freely between agents with a single command. No lock-in.
34
+
<spanclass="pillar-stat">30+ integrations</span> — Copilot, Gemini, Codex, Kilo Code, Zed, Claude, Forge, Kiro, and more. Switch freely between agents with a single command. No lock-in.
35
35
36
36
Run `specify init` with your agent of choice and Spec Kit sets up the right command files, context rules, and directory structures automatically. If your agent isn't listed, the `generic` integration is an escape hatch for any tool.
0 commit comments