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,25 +52,25 @@ 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",
@@ -148,7 +148,7 @@ class CodexIntegration(SkillsIntegration):
**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"`).
151
+
**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"`).
152
152
153
153
### 3. Register it
154
154
@@ -201,8 +201,8 @@ Only add custom setup logic when the agent needs non-standard behavior. Integrat
201
201
specify init my-project --integration <key>
202
202
203
203
# Verify files were created in the commands directory configured by
204
-
# config["folder"] + config["commands_subdir"] (for example, .windsurf/workflows/)
205
-
ls -R my-project/.windsurf/workflows/
204
+
# config["folder"] + config["commands_subdir"] (for example, .kilocode/workflows/)
205
+
ls -R my-project/.kilocode/workflows/
206
206
207
207
# Uninstall cleanly
208
208
cd my-project && specify integration uninstall <key>
Copy file name to clipboardExpand all lines: docs/community/extensions.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ The following community-contributed extensions are available in [`catalog.commun
31
31
| API Evolve | Managed API contract evolution — breaking-change detection, semver enforcement, deprecation orchestration, and lifecycle gates across REST, GraphQL, and gRPC |`process`| Read+Write |[spec-kit-api-evolve](https://github.com/Quratulain-bilal/spec-kit-api-evolve)|
32
32
| Architect Impact Previewer | Predicts architectural impact, complexity, and risks of proposed changes before implementation. |`visibility`| Read-only |[spec-kit-architect-preview](https://github.com/UmmeHabiba1312/spec-kit-architect-preview)|
33
33
| Architecture Guard | Framework-agnostic architecture review extension for validating implementation against governance and architecture constitutions, detecting architectural drift, and generating non-blocking refactor tasks |`process`| Read+Write |[spec-kit-architecture-guard](https://github.com/DyanGalih/spec-kit-architecture-guard)|
34
-
| Architecture Workflow | Generate or reverse project-level 4+1 architecture views as separate commands |`docs`| Read+Write |[spec-kit-arch](https://github.com/bigsmartben/spec-kit-arch)|
34
+
| Architecture Workflow | Generate or reverse project-level 4+1 architecture views with per-view and full-workflow commands |`docs`| Read+Write |[spec-kit-arch](https://github.com/bigsmartben/spec-kit-arch)|
35
35
| Archive Extension | Archive merged features into main project memory. |`docs`| Read+Write |[spec-kit-archive](https://github.com/stn1slv/spec-kit-archive)|
36
36
| Azure DevOps Integration | Sync user stories and tasks to Azure DevOps work items using OAuth authentication |`integration`| Read+Write |[spec-kit-azure-devops](https://github.com/pragya247/spec-kit-azure-devops)|
37
37
| Blueprint | Stay code-literate in AI-driven development: review a complete code blueprint for every task from spec artifacts before /speckit.implement runs |`docs`| Read+Write |[spec-kit-blueprint](https://github.com/chordpli/spec-kit-blueprint)|
@@ -58,7 +58,7 @@ The following community-contributed extensions are available in [`catalog.commun
58
58
| GitHub Issues Integration 2 | Creates and syncs local specs from an existing GitHub issue |`integration`| Read+Write |[spec-kit-issue](https://github.com/aaronrsun/spec-kit-issue)|
59
59
| Golden Demo | Extracts acceptance criteria from specs, builds test vectors, and produces a behavioral drift report — complementary to Architecture Guard and CDD |`docs`| Read+Write |[spec-kit-golden-demo](https://github.com/jasstt/spec-kit-golden-demo)|
60
60
| Improve Extension | Audits any codebase as a senior advisor and writes prioritized, self-contained spec prompts under specs/ that the spec-kit lifecycle can process |`process`| Read+Write |[spec-kit-improve](https://github.com/d0whc3r/spec-kit-improve)|
61
-
| Intake | Normalize PRD, design, and test-case evidence into SDD-ready intake artifacts |`docs`| Read+Write |[spec-kit-intake](https://github.com/bigsmartben/spec-kit-intake)|
61
+
| Intake | Normalize PRD, design, HTML SSOT, and test-case evidence into SDD-ready intake artifacts.|`docs`| Read+Write |[spec-kit-intake](https://github.com/bigsmartben/spec-kit-intake)|
| Iterate | Iterate on spec documents with a two-phase define-and-apply workflow — refine specs mid-implementation and go straight back to building |`docs`| Read+Write |[spec-kit-iterate](https://github.com/imviancagrace/spec-kit-iterate)|
64
64
| Jira Integration | Create Jira Epics, Stories, and Issues from spec-kit specifications and task breakdowns with configurable hierarchy and custom field support |`integration`| Read+Write |[spec-kit-jira](https://github.com/mbachorik/spec-kit-jira)|
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.
|[Trae](https://www.trae.ai/)|`trae`| Skills-based integration; skills are installed automatically |
41
-
|[Windsurf](https://windsurf.com/)|`windsurf`||
42
41
|[ZCode](https://zcode.z.ai/)|`zcode`| Skills-based integration; installs skills into `.zcode/skills/` and invokes them as `$speckit-<command>`|
43
42
|[Zed](https://zed.dev/)|`zed`| Skills-based integration; installs skills into `.agents/skills` and invokes them as `/speckit-<command>`|
44
43
| Generic |`generic`| Bring your own agent — use `--integration generic --integration-options="--commands-dir <path>"` for AI coding agents not listed above |
@@ -272,7 +271,6 @@ The currently declared multi-install safe integrations are:
Integrations that share a context file or command directory with another integration, require dynamic install paths such as `--commands-dir`, or merge shared tool settings are not declared safe by default. They can still be installed alongside another integration with `--force`.
@@ -287,7 +285,7 @@ Run `specify integration list` to see all available integrations with their keys
287
285
288
286
### Do I need the AI coding agent installed to use an integration?
289
287
290
-
CLI-based integrations (like Claude Code, Gemini CLI) require the tool to be installed. IDE-based integrations (like Windsurf, Cursor) work through the IDE itself. Some agents like GitHub Copilot support both IDE and CLI usage. `specify integration list` shows which type each integration is.
288
+
CLI-based integrations (like Claude Code, Gemini CLI) require the tool to be installed. IDE-based integrations (like Cursor) work through the IDE itself. Some agents like GitHub Copilot support both IDE and CLI usage. `specify integration list` shows which type each integration is.
0 commit comments