mirror of
https://github.com/github/spec-kit.git
synced 2026-07-03 20:36:23 +08:00
* feat(integrations): add Devin for Terminal skills-based integration - Register DevinIntegration as a SkillsIntegration with .devin/skills/ layout - Add catalog entry, docs row, and supported-agents listing - Display /speckit-<command> hyphen syntax in init "Next Steps" panel (matches Claude/Cursor/Copilot skills mode, since Devin invokes skills by directory name) Closes #2346 * fix(devin): implement -p non-interactive dispatch; clarify skills comment Addresses Copilot review on PR #2364: - Override build_exec_args() in DevinIntegration to emit 'devin -p <prompt> [--model X]' for non-interactive text dispatch (verified Devin CLI supports -p / --print). Returns None when output_json=True since Devin has no structured-output flag, so CommandStep workflows that require JSON cleanly raise NotImplementedError instead of crashing on an unknown CLI flag. requires_cli=True is retained for tool detection. - Extend the skills-integrations enumeration comment in specify_cli/__init__.py to include copilot and devin so the comment matches the code below it. * fix(devin): always return exec args; document plain-text stdout Addresses third Copilot review comment on PR #2364. Returning None from build_exec_args() when output_json=True incorrectly used the codebase's IDE-only sentinel: workflow CommandStep checks 'impl.build_exec_args("test") is None' to detect non-dispatchable integrations (test_workflows.py exercises this with WindsurfIntegration). The previous implementation made Devin appear non-dispatchable to all command steps even though it runs fine via 'devin -p'. Always return the args list. When output_json is requested, Devin is still dispatched and returns plain-text stdout instead of structured JSON; the docstring documents this explicitly. * docs(devin): include claude in skills-integrations enumeration comment Addresses Copilot review on PR #2364: the comment listing skills integrations omitted Claude, which is also a SkillsIntegration subclass. Updated to keep the comment accurate for future readers. * test(devin): add build_exec_args regression tests; bump catalog updated_at Addresses Copilot review on PR #2364, per @mnriem's request to 'address the Copilot feedback, especially the testing ask': - tests/integrations/test_integration_devin.py: add TestDevinBuildExecArgs with three regression assertions: * build_exec_args returns args (not the None IDE-only sentinel) * --output-format is never emitted, regardless of output_json * --model flag is passed through correctly - integrations/catalog.json: bump top-level updated_at to reflect the Devin entry addition so downstream catalog consumers can detect the change reliably.
269 lines
8.0 KiB
JSON
269 lines
8.0 KiB
JSON
{
|
|
"schema_version": "1.0",
|
|
"updated_at": "2026-04-28T00:00:00Z",
|
|
"catalog_url": "https://raw.githubusercontent.com/github/spec-kit/main/integrations/catalog.json",
|
|
"integrations": {
|
|
"claude": {
|
|
"id": "claude",
|
|
"name": "Claude Code",
|
|
"version": "1.0.0",
|
|
"description": "Anthropic Claude Code CLI integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "anthropic"]
|
|
},
|
|
"copilot": {
|
|
"id": "copilot",
|
|
"name": "GitHub Copilot",
|
|
"version": "1.0.0",
|
|
"description": "GitHub Copilot IDE integration with agent commands and prompt files",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide", "github"]
|
|
},
|
|
"gemini": {
|
|
"id": "gemini",
|
|
"name": "Gemini CLI",
|
|
"version": "1.0.0",
|
|
"description": "Google Gemini CLI integration with TOML command format",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "google"]
|
|
},
|
|
"cursor-agent": {
|
|
"id": "cursor-agent",
|
|
"name": "Cursor",
|
|
"version": "1.0.0",
|
|
"description": "Cursor IDE integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide"]
|
|
},
|
|
"windsurf": {
|
|
"id": "windsurf",
|
|
"name": "Windsurf",
|
|
"version": "1.0.0",
|
|
"description": "Windsurf IDE workflow integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide"]
|
|
},
|
|
"amp": {
|
|
"id": "amp",
|
|
"name": "Amp",
|
|
"version": "1.0.0",
|
|
"description": "Amp CLI integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
},
|
|
"codex": {
|
|
"id": "codex",
|
|
"name": "Codex CLI",
|
|
"version": "1.0.0",
|
|
"description": "Codex CLI skills-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "skills"]
|
|
},
|
|
"devin": {
|
|
"id": "devin",
|
|
"name": "Devin for Terminal",
|
|
"version": "1.0.0",
|
|
"description": "Devin for Terminal CLI skills-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "skills"]
|
|
},
|
|
"qwen": {
|
|
"id": "qwen",
|
|
"name": "Qwen Code",
|
|
"version": "1.0.0",
|
|
"description": "Alibaba Qwen Code CLI integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "alibaba"]
|
|
},
|
|
"opencode": {
|
|
"id": "opencode",
|
|
"name": "opencode",
|
|
"version": "1.0.0",
|
|
"description": "opencode CLI integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
},
|
|
"forge": {
|
|
"id": "forge",
|
|
"name": "Forge",
|
|
"version": "1.0.0",
|
|
"description": "Forge CLI integration with parameter-based commands",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
},
|
|
"kiro-cli": {
|
|
"id": "kiro-cli",
|
|
"name": "Kiro CLI",
|
|
"version": "1.0.0",
|
|
"description": "Kiro CLI prompt-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
},
|
|
"junie": {
|
|
"id": "junie",
|
|
"name": "Junie",
|
|
"version": "1.0.0",
|
|
"description": "Junie by JetBrains CLI integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "jetbrains"]
|
|
},
|
|
"auggie": {
|
|
"id": "auggie",
|
|
"name": "Auggie CLI",
|
|
"version": "1.0.0",
|
|
"description": "Auggie CLI integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
},
|
|
"shai": {
|
|
"id": "shai",
|
|
"name": "SHAI",
|
|
"version": "1.0.0",
|
|
"description": "SHAI CLI integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
},
|
|
"tabnine": {
|
|
"id": "tabnine",
|
|
"name": "Tabnine CLI",
|
|
"version": "1.0.0",
|
|
"description": "Tabnine CLI integration with TOML command format",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
},
|
|
"kilocode": {
|
|
"id": "kilocode",
|
|
"name": "Kilo Code",
|
|
"version": "1.0.0",
|
|
"description": "Kilo Code IDE workflow integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide"]
|
|
},
|
|
"roo": {
|
|
"id": "roo",
|
|
"name": "Roo Code",
|
|
"version": "1.0.0",
|
|
"description": "Roo Code IDE integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide"]
|
|
},
|
|
"bob": {
|
|
"id": "bob",
|
|
"name": "IBM Bob",
|
|
"version": "1.0.0",
|
|
"description": "IBM Bob IDE integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide", "ibm"]
|
|
},
|
|
"trae": {
|
|
"id": "trae",
|
|
"name": "Trae",
|
|
"version": "1.0.0",
|
|
"description": "Trae IDE rules-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide"]
|
|
},
|
|
"codebuddy": {
|
|
"id": "codebuddy",
|
|
"name": "CodeBuddy",
|
|
"version": "1.0.0",
|
|
"description": "CodeBuddy CLI integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
},
|
|
"qodercli": {
|
|
"id": "qodercli",
|
|
"name": "Qoder CLI",
|
|
"version": "1.0.0",
|
|
"description": "Qoder CLI integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
},
|
|
"kimi": {
|
|
"id": "kimi",
|
|
"name": "Kimi Code",
|
|
"version": "1.0.0",
|
|
"description": "Kimi Code CLI skills-based integration by Moonshot AI",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "skills"]
|
|
},
|
|
"pi": {
|
|
"id": "pi",
|
|
"name": "Pi Coding Agent",
|
|
"version": "1.0.0",
|
|
"description": "Pi terminal coding agent prompt-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
},
|
|
"iflow": {
|
|
"id": "iflow",
|
|
"name": "iFlow CLI",
|
|
"version": "1.0.0",
|
|
"description": "iFlow CLI integration by iflow-ai",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
},
|
|
"vibe": {
|
|
"id": "vibe",
|
|
"name": "Mistral Vibe",
|
|
"version": "1.0.0",
|
|
"description": "Mistral Vibe CLI prompt-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "mistral"]
|
|
},
|
|
"agy": {
|
|
"id": "agy",
|
|
"name": "Antigravity",
|
|
"version": "1.0.0",
|
|
"description": "Antigravity IDE skills-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide", "skills"]
|
|
},
|
|
"generic": {
|
|
"id": "generic",
|
|
"name": "Generic (bring your own agent)",
|
|
"version": "1.0.0",
|
|
"description": "Generic integration for any agent via --ai-commands-dir",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["generic"]
|
|
},
|
|
"goose": {
|
|
"id": "goose",
|
|
"name": "Goose",
|
|
"version": "1.0.0",
|
|
"description": "Goose CLI integration with YAML recipe format",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli"]
|
|
}
|
|
}
|
|
}
|