mirror of
https://github.com/github/spec-kit.git
synced 2026-08-03 06:26:30 +08:00
Adds a skills-based integration for the Factory Droid CLI alongside the existing Claude/Codex skills agents. The integration scaffolds `.factory/skills/speckit-*` directories and documents the install step in the devcontainer post-create script via the official npm distribution (`npm install -g droid`), which matches the layout of every other CLI install block above and avoids executing an unverified remote shell installer. The integration is also added to the user-facing supported-agent table in `docs/reference/integrations.md` so the new key is discoverable from the published documentation, as required by the "Updating this documentation" guideline in AGENTS.md. Operator-supplied extra args via `SPECKIT_INTEGRATION_DROID_EXTRA_ARGS` are appended after the canonical Spec Kit flags so the canonical flags are always present in argv. The Factory Droid CLI parser uses last-wins duplicate-flag semantics (verified empirically against droid 0.175.0), so a later operator-supplied value may override the canonical one — this is a deliberate inversion of the cursor-agent / opencode / codex ordering. Includes: - `src/specify_cli/integrations/droid/__init__.py` (subpackage) - `tests/integrations/test_integration_droid.py` (46 tests, including regression coverage for the no-trailing-newline frontmatter fusion bug, idempotent skill injection, and env-var path resolution) - `integrations/catalog.json` entry + `updated_at` bump - Alphabetical registration in `src/specify_cli/integrations/__init__.py` and `tests/integrations/test_registry.py` - Devcontainer Droid install block via the npm distribution (`npm install -g droid`), replacing the earlier curl-based installer - User-facing supported-agent table row in `docs/reference/integrations.md` (key `droid`, `.factory/skills/` layout, `/speckit-<command>` invocation) - `AGENT_CONFIG` entry and matching alphabetical entries in `tests/test_agent_config_consistency.py` (`ISSUE_TEMPLATE_AGENT_KEYS`) and the three issue-template dropdowns (`agent_request.yml`, `bug_report.yml`, `feature_request.yml`) so `test_issue_template_agent_lists_match_runtime_integrations` keeps the runtime/template surfaces synchronized Closes #822 Assisted-by: Droid (oracle-reviewer) Assisted-by: Droid (model: MiniMax M3, autonomous) Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
332 lines
10 KiB
JSON
332 lines
10 KiB
JSON
{
|
|
"schema_version": "1.0",
|
|
"updated_at": "2026-07-17T00: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"]
|
|
},
|
|
"cline": {
|
|
"id": "cline",
|
|
"name": "Cline",
|
|
"version": "1.0.0",
|
|
"description": "Cline IDE integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide"]
|
|
},
|
|
"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"]
|
|
},
|
|
"droid": {
|
|
"id": "droid",
|
|
"name": "Factory Droid",
|
|
"version": "1.0.0",
|
|
"description": "Factory Droid CLI skills-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "skills", "factory"]
|
|
},
|
|
"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"]
|
|
},
|
|
"firebender": {
|
|
"id": "firebender",
|
|
"name": "Firebender",
|
|
"version": "1.0.0",
|
|
"description": "Firebender IDE integration for Android Studio / IntelliJ",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide"]
|
|
},
|
|
"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"]
|
|
},
|
|
"rovodev": {
|
|
"id": "rovodev",
|
|
"name": "RovoDev ACLI",
|
|
"version": "1.0.0",
|
|
"description": "Atlassian RovoDev integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "atlassian"]
|
|
},
|
|
"bob": {
|
|
"id": "bob",
|
|
"name": "IBM Bob",
|
|
"version": "2.0.0",
|
|
"description": "IBM Bob 2.0 IDE skills-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide", "ibm", "skills"]
|
|
},
|
|
"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"]
|
|
},
|
|
"lingma": {
|
|
"id": "lingma",
|
|
"name": "Lingma",
|
|
"version": "1.0.0",
|
|
"description": "Lingma IDE skills-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide", "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"]
|
|
},
|
|
"omp": {
|
|
"id": "omp",
|
|
"name": "Oh My Pi",
|
|
"version": "1.0.0",
|
|
"description": "Oh My Pi (omp) terminal coding agent prompt-based integration",
|
|
"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 --integration-options=\"--commands-dir <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"]
|
|
},
|
|
"grok": {
|
|
"id": "grok",
|
|
"name": "Grok Build",
|
|
"version": "1.0.0",
|
|
"description": "xAI Grok Build CLI skills-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "skills", "xai"]
|
|
},
|
|
"hermes": {
|
|
"id": "hermes",
|
|
"name": "Hermes Agent",
|
|
"version": "1.0.0",
|
|
"description": "Hermes Agent skills-based integration by Nous Research",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "skills"]
|
|
},
|
|
"zcode": {
|
|
"id": "zcode",
|
|
"name": "ZCode",
|
|
"version": "1.0.0",
|
|
"description": "Z.AI ZCode CLI skills-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["cli", "skills", "z-ai"]
|
|
},
|
|
"zed": {
|
|
"id": "zed",
|
|
"name": "Zed",
|
|
"version": "1.0.0",
|
|
"description": "Zed editor skills-based integration",
|
|
"author": "spec-kit-core",
|
|
"repository": "https://github.com/github/spec-kit",
|
|
"tags": ["ide", "skills"]
|
|
}
|
|
}
|
|
}
|