From 36501d459f268a0cbb4f56e2f4095a94f4b6f7b5 Mon Sep 17 00:00:00 2001 From: Ben Buttigieg <70525+BenBtg@users.noreply.github.com> Date: Tue, 30 Jun 2026 16:24:04 +0100 Subject: [PATCH] =?UTF-8?q?chore:=20retire=20Roo=20Code=20integration=20?= =?UTF-8?q?=E2=80=94=20extension=20shut=20down=20(#3167)=20(#3212)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: retire roo integration — extension shut down (#3167) Remove the Roo Code integration after the extension was shut down: subpackage, registry entry, catalog entry, docs, tests, and issue-template options. Assisted-by: GitHub Copilot (model: Claude Opus 4.8, autonomous) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: remove stale Roo Code mention in upgrade guide Assisted-by: GitHub Copilot (model: gpt-5.3-codex, autonomous) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: remove leftover Roo Code references after merge Drop roo from presets/ARCHITECTURE.md example and the agent-context defaults map; these came in from main and were flagged by review. Assisted-by: GitHub Copilot (model: claude-opus-4.8, autonomous) --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .devcontainer/devcontainer.json | 2 -- .github/ISSUE_TEMPLATE/agent_request.yml | 2 +- .github/ISSUE_TEMPLATE/bug_report.yml | 1 - .github/ISSUE_TEMPLATE/feature_request.yml | 1 - docs/reference/integrations.md | 2 -- docs/upgrade.md | 4 ++-- .../agent-context/agent-context-defaults.json | 1 - integrations/catalog.json | 9 -------- presets/ARCHITECTURE.md | 2 +- src/specify_cli/integrations/__init__.py | 2 -- src/specify_cli/integrations/roo/__init__.py | 21 ------------------- tests/integrations/test_integration_roo.py | 10 --------- tests/integrations/test_registry.py | 2 +- tests/test_agent_config_consistency.py | 1 - 14 files changed, 5 insertions(+), 55 deletions(-) delete mode 100644 src/specify_cli/integrations/roo/__init__.py delete mode 100644 tests/integrations/test_integration_roo.py diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 88acdcd5f..89c090a82 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -48,8 +48,6 @@ "openai.chatgpt", // Kilo Code "kilocode.Kilo-Code", - // Roo Code - "RooVeterinaryInc.roo-cline", // Claude Code "anthropic.claude-code" ], diff --git a/.github/ISSUE_TEMPLATE/agent_request.yml b/.github/ISSUE_TEMPLATE/agent_request.yml index 4a750bc23..1353e48e6 100644 --- a/.github/ISSUE_TEMPLATE/agent_request.yml +++ b/.github/ISSUE_TEMPLATE/agent_request.yml @@ -8,7 +8,7 @@ body: value: | Thanks for requesting a new agent! Before submitting, please check if the agent is already supported. - **Currently supported agents**: Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Cursor, Devin for Terminal, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, Roo Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed + **Currently supported agents**: Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Cursor, Devin for Terminal, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed - type: input id: agent-name diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 193f0105e..b71d90cda 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -89,7 +89,6 @@ body: - Pi Coding Agent - Qoder CLI - Qwen Code - - Roo Code - RovoDev ACLI - SHAI - Tabnine CLI diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index a9766bca5..76566a18f 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -83,7 +83,6 @@ body: - Pi Coding Agent - Qoder CLI - Qwen Code - - Roo Code - RovoDev ACLI - SHAI - Tabnine CLI diff --git a/docs/reference/integrations.md b/docs/reference/integrations.md index 3c48c5a48..b5ae740d4 100644 --- a/docs/reference/integrations.md +++ b/docs/reference/integrations.md @@ -33,7 +33,6 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify | [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) | | [Qoder CLI](https://qoder.com/cli) | `qodercli` | | | [Qwen Code](https://github.com/QwenLM/qwen-code) | `qwen` | | -| [Roo Code](https://roocode.com/) | `roo` | | | [RovoDev](https://www.atlassian.com/software/rovo-dev) | `rovodev` | Generates `.rovodev/skills/`, prompt wrappers, and `prompts.yml`; runtime dispatch uses `acli rovodev` | | [SHAI (OVHcloud)](https://github.com/ovh/shai) | `shai` | | | [Tabnine CLI](https://docs.tabnine.com/main/getting-started/tabnine-cli) | `tabnine` | | @@ -267,7 +266,6 @@ The currently declared multi-install safe integrations are: | `kilocode` | `.kilocode/workflows`, `.kilocode/rules/specify-rules.md` | | `qodercli` | `.qoder/commands`, `QODER.md` | | `qwen` | `.qwen/commands`, `QWEN.md` | -| `roo` | `.roo/commands`, `.roo/rules/specify-rules.md` | | `shai` | `.shai/commands`, `SHAI.md` | | `tabnine` | `.tabnine/agent/commands`, `TABNINE.md` | | `trae` | `.trae/skills`, `.trae/rules/project_rules.md` | diff --git a/docs/upgrade.md b/docs/upgrade.md index 6c5f8a6c0..0e0824dc6 100644 --- a/docs/upgrade.md +++ b/docs/upgrade.md @@ -185,7 +185,7 @@ cp -r .specify/scripts .specify/scripts-backup ### 3. Duplicate slash commands (IDE-based agents) -Some IDE-based agents (like Kilo Code, Roo Code) may show **duplicate slash commands** after upgrading—both old and new versions appear. +Some IDE-based agents (like Kilo Code, Cline) may show **duplicate slash commands** after upgrading—both old and new versions appear. **Solution:** Manually delete the old command files from your agent's folder. @@ -242,7 +242,7 @@ mv /tmp/constitution-backup.md .specify/memory/constitution.md ### Scenario 3: "I see duplicate slash commands in my IDE" -This happens with IDE-based agents (Kilo Code, Roo Code, Cline, etc.). +This happens with IDE-based agents (Kilo Code, Cline, etc.). ```bash # Find the agent folder (example: .kilocode/workflows/) diff --git a/extensions/agent-context/agent-context-defaults.json b/extensions/agent-context/agent-context-defaults.json index 336440b24..0870e6693 100644 --- a/extensions/agent-context/agent-context-defaults.json +++ b/extensions/agent-context/agent-context-defaults.json @@ -28,7 +28,6 @@ "pi": "AGENTS.md", "qodercli": "QODER.md", "qwen": "QWEN.md", - "roo": ".roo/rules/specify-rules.md", "rovodev": "AGENTS.md", "shai": "SHAI.md", "tabnine": "TABNINE.md", diff --git a/integrations/catalog.json b/integrations/catalog.json index 435020772..5080608a7 100644 --- a/integrations/catalog.json +++ b/integrations/catalog.json @@ -165,15 +165,6 @@ "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"] - }, "rovodev": { "id": "rovodev", "name": "RovoDev ACLI", diff --git a/presets/ARCHITECTURE.md b/presets/ARCHITECTURE.md index fc043143b..85e9dea3c 100644 --- a/presets/ARCHITECTURE.md +++ b/presets/ARCHITECTURE.md @@ -99,7 +99,7 @@ The `CommandRegistrar` renders commands differently per agent: | Agent | Format | Extension | Arg placeholder | |-------|--------|-----------|-----------------| -| Claude, Kilo Code, opencode, Roo Code, etc. | Markdown | `.md` | `$ARGUMENTS` | +| Claude, Kilo Code, opencode, etc. | Markdown | `.md` | `$ARGUMENTS` | | Copilot | Markdown | `.agent.md` + `.prompt.md` | `$ARGUMENTS` | | Gemini, Qwen, Tabnine | TOML | `.toml` | `{{args}}` | diff --git a/src/specify_cli/integrations/__init__.py b/src/specify_cli/integrations/__init__.py index 9b643b4ee..e0bab6673 100644 --- a/src/specify_cli/integrations/__init__.py +++ b/src/specify_cli/integrations/__init__.py @@ -74,7 +74,6 @@ def _register_builtins() -> None: from .pi import PiIntegration from .qodercli import QodercliIntegration from .qwen import QwenIntegration - from .roo import RooIntegration from .rovodev import RovodevIntegration from .shai import ShaiIntegration from .tabnine import TabnineIntegration @@ -111,7 +110,6 @@ def _register_builtins() -> None: _register(PiIntegration()) _register(QodercliIntegration()) _register(QwenIntegration()) - _register(RooIntegration()) _register(RovodevIntegration()) _register(ShaiIntegration()) _register(TabnineIntegration()) diff --git a/src/specify_cli/integrations/roo/__init__.py b/src/specify_cli/integrations/roo/__init__.py deleted file mode 100644 index 2042c0933..000000000 --- a/src/specify_cli/integrations/roo/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -"""Roo Code integration.""" - -from ..base import MarkdownIntegration - - -class RooIntegration(MarkdownIntegration): - key = "roo" - config = { - "name": "Roo Code", - "folder": ".roo/", - "commands_subdir": "commands", - "install_url": None, - "requires_cli": False, - } - registrar_config = { - "dir": ".roo/commands", - "format": "markdown", - "args": "$ARGUMENTS", - "extension": ".md", - } - multi_install_safe = True diff --git a/tests/integrations/test_integration_roo.py b/tests/integrations/test_integration_roo.py deleted file mode 100644 index b713f9636..000000000 --- a/tests/integrations/test_integration_roo.py +++ /dev/null @@ -1,10 +0,0 @@ -"""Tests for RooIntegration.""" - -from .test_integration_base_markdown import MarkdownIntegrationTests - - -class TestRooIntegration(MarkdownIntegrationTests): - KEY = "roo" - FOLDER = ".roo/" - COMMANDS_SUBDIR = "commands" - REGISTRAR_DIR = ".roo/commands" diff --git a/tests/integrations/test_registry.py b/tests/integrations/test_registry.py index 983912197..bbd08ea40 100644 --- a/tests/integrations/test_registry.py +++ b/tests/integrations/test_registry.py @@ -22,7 +22,7 @@ ALL_INTEGRATION_KEYS = [ "copilot", # Stage 3 — standard markdown integrations "claude", "qwen", "opencode", "junie", "kilocode", "auggie", - "roo", "rovodev", "codebuddy", "qodercli", "amp", "shai", "bob", "trae", + "rovodev", "codebuddy", "qodercli", "amp", "shai", "bob", "trae", "pi", "kiro-cli", "vibe", "cursor-agent", "firebender", # Stage 4 — TOML integrations "gemini", "tabnine", diff --git a/tests/test_agent_config_consistency.py b/tests/test_agent_config_consistency.py index cd1e91b7f..b4ef85c31 100644 --- a/tests/test_agent_config_consistency.py +++ b/tests/test_agent_config_consistency.py @@ -38,7 +38,6 @@ ISSUE_TEMPLATE_AGENT_KEYS = [ "pi", "qodercli", "qwen", - "roo", "rovodev", "shai", "tabnine",