diff --git a/.github/ISSUE_TEMPLATE/agent_request.yml b/.github/ISSUE_TEMPLATE/agent_request.yml index 69cfd090e6..15f3f10c28 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, iFlow CLI, 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, Windsurf, 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, Roo Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, Windsurf, ZCode, Zed - type: input id: agent-name diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 227f98ae1c..1e3d5f14cb 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -78,7 +78,6 @@ body: - Goose - Hermes Agent - IBM Bob - - iFlow CLI - Junie - Kilo Code - Kimi Code diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index ca1ecb9c11..83f3169c37 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -72,7 +72,6 @@ body: - Goose - Hermes Agent - IBM Bob - - iFlow CLI - Junie - Kilo Code - Kimi Code diff --git a/docs/reference/integrations.md b/docs/reference/integrations.md index 18dbdd1c42..651178f5a7 100644 --- a/docs/reference/integrations.md +++ b/docs/reference/integrations.md @@ -22,7 +22,6 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify | [Goose](https://goose-docs.ai/) | `goose` | Uses YAML recipe format in `.goose/recipes/` | | [Hermes](https://github.com/NousResearch/hermes-agent) | `hermes` | Skills-based integration; installs skills globally into `~/.hermes/skills/` | | [IBM Bob](https://www.ibm.com/products/bob) | `bob` | IDE-based agent | -| [iFlow CLI](https://docs.iflow.cn/en/cli/quickstart) | `iflow` | | | [Junie](https://junie.jetbrains.com/) | `junie` | | | [Kilo Code](https://github.com/Kilo-Org/kilocode) | `kilocode` | | | [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` | @@ -265,7 +264,6 @@ The currently declared multi-install safe integrations are: | `cursor-agent` | `.cursor/skills`, `.cursor/rules/specify-rules.mdc` | | `firebender` | `.firebender/commands`, `.firebender/rules/specify-rules.mdc` | | `gemini` | `.gemini/commands`, `GEMINI.md` | -| `iflow` | `.iflow/commands`, `IFLOW.md` | | `junie` | `.junie/commands`, `.junie/AGENTS.md` | | `kilocode` | `.kilocode/workflows`, `.kilocode/rules/specify-rules.md` | | `qodercli` | `.qoder/commands`, `QODER.md` | diff --git a/extensions/agent-context/agent-context-defaults.json b/extensions/agent-context/agent-context-defaults.json index 120c348acb..336440b246 100644 --- a/extensions/agent-context/agent-context-defaults.json +++ b/extensions/agent-context/agent-context-defaults.json @@ -18,7 +18,6 @@ "generic": "AGENTS.md", "goose": "AGENTS.md", "hermes": "AGENTS.md", - "iflow": "IFLOW.md", "junie": ".junie/AGENTS.md", "kilocode": ".kilocode/rules/specify-rules.md", "kimi": "AGENTS.md", diff --git a/integrations/catalog.json b/integrations/catalog.json index 931df0d974..8167924cca 100644 --- a/integrations/catalog.json +++ b/integrations/catalog.json @@ -264,15 +264,6 @@ "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", diff --git a/src/specify_cli/integrations/__init__.py b/src/specify_cli/integrations/__init__.py index f394f64a20..374d9479f5 100644 --- a/src/specify_cli/integrations/__init__.py +++ b/src/specify_cli/integrations/__init__.py @@ -64,7 +64,6 @@ def _register_builtins() -> None: from .generic import GenericIntegration from .goose import GooseIntegration from .hermes import HermesIntegration - from .iflow import IflowIntegration from .junie import JunieIntegration from .kilocode import KilocodeIntegration from .kimi import KimiIntegration @@ -103,7 +102,6 @@ def _register_builtins() -> None: _register(GenericIntegration()) _register(GooseIntegration()) _register(HermesIntegration()) - _register(IflowIntegration()) _register(JunieIntegration()) _register(KilocodeIntegration()) _register(KimiIntegration()) diff --git a/src/specify_cli/integrations/iflow/__init__.py b/src/specify_cli/integrations/iflow/__init__.py deleted file mode 100644 index c6b5447bb1..0000000000 --- a/src/specify_cli/integrations/iflow/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -"""iFlow CLI integration.""" - -from ..base import MarkdownIntegration - - -class IflowIntegration(MarkdownIntegration): - key = "iflow" - config = { - "name": "iFlow CLI", - "folder": ".iflow/", - "commands_subdir": "commands", - "install_url": "https://docs.iflow.cn/en/cli/quickstart", - "requires_cli": True, - } - registrar_config = { - "dir": ".iflow/commands", - "format": "markdown", - "args": "$ARGUMENTS", - "extension": ".md", - } - multi_install_safe = True diff --git a/tests/integrations/test_integration_iflow.py b/tests/integrations/test_integration_iflow.py deleted file mode 100644 index 89501f8edf..0000000000 --- a/tests/integrations/test_integration_iflow.py +++ /dev/null @@ -1,10 +0,0 @@ -"""Tests for IflowIntegration.""" - -from .test_integration_base_markdown import MarkdownIntegrationTests - - -class TestIflowIntegration(MarkdownIntegrationTests): - KEY = "iflow" - FOLDER = ".iflow/" - COMMANDS_SUBDIR = "commands" - REGISTRAR_DIR = ".iflow/commands" diff --git a/tests/integrations/test_registry.py b/tests/integrations/test_registry.py index f22f7e1048..478bc54f5b 100644 --- a/tests/integrations/test_registry.py +++ b/tests/integrations/test_registry.py @@ -23,7 +23,7 @@ # Stage 3 — standard markdown integrations "claude", "qwen", "opencode", "junie", "kilocode", "auggie", "roo", "rovodev", "codebuddy", "qodercli", "amp", "shai", "bob", "trae", - "pi", "iflow", "kiro-cli", "windsurf", "vibe", "cursor-agent", "firebender", + "pi", "kiro-cli", "windsurf", "vibe", "cursor-agent", "firebender", # Stage 4 — TOML integrations "gemini", "tabnine", # Stage 5 — skills, generic & option-driven integrations diff --git a/tests/test_agent_config_consistency.py b/tests/test_agent_config_consistency.py index 94496af5ef..d35154e86c 100644 --- a/tests/test_agent_config_consistency.py +++ b/tests/test_agent_config_consistency.py @@ -27,7 +27,6 @@ "goose", "hermes", "bob", - "iflow", "junie", "kilocode", "kimi", @@ -292,28 +291,6 @@ def test_agent_config_includes_pi(self): """AGENT_CONFIG should include pi.""" assert "pi" in AGENT_CONFIG - # --- iFlow CLI consistency checks --- - - def test_iflow_in_agent_config(self): - """AGENT_CONFIG should include iflow with correct folder and commands_subdir.""" - assert "iflow" in AGENT_CONFIG - assert AGENT_CONFIG["iflow"]["folder"] == ".iflow/" - assert AGENT_CONFIG["iflow"]["commands_subdir"] == "commands" - assert AGENT_CONFIG["iflow"]["requires_cli"] is True - - def test_iflow_in_extension_registrar(self): - """Extension command registrar should include iflow targeting .iflow/commands.""" - cfg = CommandRegistrar.AGENT_CONFIGS - - assert "iflow" in cfg - assert cfg["iflow"]["dir"] == ".iflow/commands" - assert cfg["iflow"]["format"] == "markdown" - assert cfg["iflow"]["args"] == "$ARGUMENTS" - - def test_agent_config_includes_iflow(self): - """AGENT_CONFIG should include iflow.""" - assert "iflow" in AGENT_CONFIG - # --- Goose consistency checks --- def test_goose_in_agent_config(self):