Skip to content

Commit 1f6fafe

Browse files
committed
Address remaining Copilot PR feedback: revert docs and add preset prerelease tests
1 parent 032ef4c commit 1f6fafe

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

docs/reference/integrations.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,38 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
1010
| [Antigravity (agy)](https://antigravity.google/) | `agy` | Skills-based integration; skills are installed automatically |
1111
| [Auggie CLI](https://docs.augmentcode.com/cli/overview) | `auggie` | |
1212
| [Claude Code](https://www.anthropic.com/claude-code) | `claude` | Skills-based integration; installs skills in `.claude/skills` |
13+
| [Cline](https://github.com/cline/cline) | `cline` | IDE-based agent |
1314
| [CodeBuddy CLI](https://www.codebuddy.ai/cli) | `codebuddy` | |
1415
| [Codex CLI](https://github.com/openai/codex) | `codex` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `$speckit-<command>` |
1516
| [Cursor](https://cursor.sh/) | `cursor-agent` | |
1617
| [Devin for Terminal](https://cli.devin.ai/docs) | `devin` | Skills-based integration; installs skills into `.devin/skills/` and invokes them as `/speckit-<command>` |
18+
| [Firebender](https://firebender.com/) | `firebender` | IDE-based agent for Android Studio / IntelliJ |
1719
| [Forge](https://forgecode.dev/) | `forge` | |
1820
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `gemini` | |
1921
| [GitHub Copilot](https://code.visualstudio.com/) | `copilot` | |
2022
| [Goose](https://block.github.io/goose/) | `goose` | Uses YAML recipe format in `.goose/recipes/` |
23+
| [Hermes](https://github.com/NousResearch/hermes-agent) | `hermes` | Skills-based integration; installs skills globally into `~/.hermes/skills/` |
2124
| [IBM Bob](https://www.ibm.com/products/bob) | `bob` | IDE-based agent |
2225
| [iFlow CLI](https://docs.iflow.cn/en/cli/quickstart) | `iflow` | |
2326
| [Junie](https://junie.jetbrains.com/) | `junie` | |
2427
| [Kilo Code](https://github.com/Kilo-Org/kilocode) | `kilocode` | |
25-
| [Kimi Code](https://code.kimi.com/) | `kimi` | Skills-based integration; supports `--migrate-legacy` for dotted→hyphenated directory migration |
28+
| [Kimi Code](https://code.kimi.com/) | `kimi` | Skills-based integration; installs into `.kimi-code/skills/`. `--migrate-legacy` moves old `.kimi/skills/` installs to the new paths, and (when the `agent-context` extension is enabled) migrates `KIMI.md` context into `AGENTS.md` |
2629
| [Kiro CLI](https://kiro.dev/docs/cli/) | `kiro-cli` | Kiro CLI does not substitute `$ARGUMENTS` in file-based prompts, so Spec Kit ships a prose fallback at render time (see [Manage prompts](https://kiro.dev/docs/cli/chat/manage-prompts/) and issue [#1926](https://github.com/github/spec-kit/issues/1926)). Alias: `--integration kiro` |
2730
| [Lingma](https://lingma.aliyun.com/) | `lingma` | Skills-based integration; skills are installed automatically |
2831
| [Mistral Vibe](https://github.com/mistralai/mistral-vibe) | `vibe` | |
32+
| [Oh My Pi](https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent) | `omp` | Installs slash commands into `.omp/commands` |
2933
| [opencode](https://opencode.ai/) | `opencode` | |
3034
| [Pi Coding Agent](https://pi.dev) | `pi` | Pi doesn't have MCP support out of the box, so `taskstoissues` won't work as intended. MCP support can be added via [extensions](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent#extensions) |
3135
| [Qoder CLI](https://qoder.com/cli) | `qodercli` | |
3236
| [Qwen Code](https://github.com/QwenLM/qwen-code) | `qwen` | |
3337
| [Roo Code](https://roocode.com/) | `roo` | |
38+
| [RovoDev](https://www.atlassian.com/software/rovo-dev) | `rovodev` | Generates `.rovodev/skills/`, prompt wrappers, and `prompts.yml`; runtime dispatch uses `acli rovodev` |
3439
| [SHAI (OVHcloud)](https://github.com/ovh/shai) | `shai` | |
3540
| [Tabnine CLI](https://docs.tabnine.com/main/getting-started/tabnine-cli) | `tabnine` | |
3641
| [Trae](https://www.trae.ai/) | `trae` | Skills-based integration; skills are installed automatically |
3742
| [Windsurf](https://windsurf.com/) | `windsurf` | |
43+
| [ZCode](https://zcode.z.ai/) | `zcode` | Skills-based integration; installs skills into `.zcode/skills/` and invokes them as `$speckit-<command>` |
44+
| [Zed](https://zed.dev/) | `zed` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `/speckit-<command>` |
3845
| Generic | `generic` | Bring your own agent — use `--integration generic --integration-options="--commands-dir <path>"` for AI coding agents not listed above |
3946

4047
## List Available Integrations

tests/test_presets.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -710,6 +710,15 @@ def test_check_compatibility_valid(self, pack_dir, temp_dir):
710710
manifest = PresetManifest(pack_dir / "preset.yml")
711711
assert manager.check_compatibility(manifest, "0.1.5") is True
712712

713+
def test_check_compatibility_prerelease(self, pack_dir, temp_dir):
714+
"""Test compatibility check allows prereleases and fails on boundary."""
715+
manager = PresetManager(temp_dir)
716+
manifest = PresetManifest(pack_dir / "preset.yml")
717+
# manifest requires >=0.1.0
718+
assert manager.check_compatibility(manifest, "0.8.8.dev0") is True
719+
with pytest.raises(PresetCompatibilityError, match="Preset requires spec-kit"):
720+
manager.check_compatibility(manifest, "0.1.0.dev0")
721+
713722
def test_check_compatibility_invalid(self, pack_dir, temp_dir):
714723
"""Test compatibility check with invalid specifier."""
715724
manager = PresetManager(temp_dir)

0 commit comments

Comments
 (0)