mirror of
https://github.com/github/spec-kit.git
synced 2026-07-03 12:28:06 +08:00
feat: add Firebender integration (Android Studio / IntelliJ) (#3077)
* feat: add Firebender integration (Android Studio / IntelliJ) Firebender (https://firebender.com/) is an AI coding agent for Android Studio and IntelliJ. It reads project-local custom slash commands from .firebender/commands/*.mdc and project rules from .firebender/rules/*.mdc. Add a FirebenderIntegration (MarkdownIntegration) that installs the speckit command templates as .mdc command files and writes the managed context section into .firebender/rules/specify-rules.mdc. command_filename is overridden so init-time commands also use the .mdc extension Firebender requires. Register it in the integration registry, add the catalog entry and docs row, and add an integration test covering the .mdc command output. Closes #1548 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: address review - bump catalog updated_at and list firebender as multi-install safe Bump the catalog top-level updated_at to reflect the new entry, and add firebender (with its .firebender/commands + .firebender/rules/specify-rules.mdc isolation paths) to the 'currently declared multi-install safe integrations' table in the docs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -58,6 +58,7 @@ def _register_builtins() -> None:
|
||||
from .copilot import CopilotIntegration
|
||||
from .cursor_agent import CursorAgentIntegration
|
||||
from .devin import DevinIntegration
|
||||
from .firebender import FirebenderIntegration
|
||||
from .forge import ForgeIntegration
|
||||
from .gemini import GeminiIntegration
|
||||
from .generic import GenericIntegration
|
||||
@@ -95,6 +96,7 @@ def _register_builtins() -> None:
|
||||
_register(CopilotIntegration())
|
||||
_register(CursorAgentIntegration())
|
||||
_register(DevinIntegration())
|
||||
_register(FirebenderIntegration())
|
||||
_register(ForgeIntegration())
|
||||
_register(GeminiIntegration())
|
||||
_register(GenericIntegration())
|
||||
|
||||
33
src/specify_cli/integrations/firebender/__init__.py
Normal file
33
src/specify_cli/integrations/firebender/__init__.py
Normal file
@@ -0,0 +1,33 @@
|
||||
"""Firebender IDE integration.
|
||||
|
||||
Firebender (https://firebender.com/) is an AI coding agent for Android Studio
|
||||
and IntelliJ. It reads project-local custom slash commands from
|
||||
``.firebender/commands/*.mdc`` and project rules from ``.firebender/rules/*.mdc``,
|
||||
so Spec Kit installs its command templates as ``.mdc`` command files and writes
|
||||
the managed context section into a ``.firebender/rules/`` rule file.
|
||||
"""
|
||||
|
||||
from ..base import MarkdownIntegration
|
||||
|
||||
|
||||
class FirebenderIntegration(MarkdownIntegration):
|
||||
key = "firebender"
|
||||
config = {
|
||||
"name": "Firebender",
|
||||
"folder": ".firebender/",
|
||||
"commands_subdir": "commands",
|
||||
"install_url": "https://firebender.com/",
|
||||
"requires_cli": False,
|
||||
}
|
||||
registrar_config = {
|
||||
"dir": ".firebender/commands",
|
||||
"format": "markdown",
|
||||
"args": "$ARGUMENTS",
|
||||
"extension": ".mdc",
|
||||
}
|
||||
context_file = ".firebender/rules/specify-rules.mdc"
|
||||
multi_install_safe = True
|
||||
|
||||
def command_filename(self, template_name: str) -> str:
|
||||
"""Firebender reads custom slash commands from ``.firebender/commands/*.mdc``."""
|
||||
return f"speckit.{template_name}.mdc"
|
||||
Reference in New Issue
Block a user