feat: add Firebender integration (Android Studio / IntelliJ)#3077
Open
jawwad-ali wants to merge 1 commit into
Open
feat: add Firebender integration (Android Studio / IntelliJ)#3077jawwad-ali wants to merge 1 commit into
jawwad-ali wants to merge 1 commit into
Conversation
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 github#1548 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new built-in integration for Firebender (Android Studio / IntelliJ) to Spec Kit’s integration registry, catalog, tests, and public documentation.
Changes:
- Introduces
FirebenderIntegrationas aMarkdownIntegrationthat emits.mdccommand files and manages rules in.firebender/rules/specify-rules.mdc. - Registers the new integration and adds coverage via a dedicated integration test.
- Updates the built-in integrations catalog and the reference documentation to list Firebender.
Show a summary per file
| File | Description |
|---|---|
src/specify_cli/integrations/firebender/__init__.py |
New Firebender integration using .firebender/ with .mdc command outputs. |
src/specify_cli/integrations/__init__.py |
Registers FirebenderIntegration in the built-in integration registry. |
tests/integrations/test_integration_firebender.py |
Adds integration tests tailored to Firebender’s .mdc command extension. |
tests/integrations/test_registry.py |
Includes firebender in the expected registry keys list. |
integrations/catalog.json |
Adds Firebender entry to the built-in integrations catalog. |
docs/reference/integrations.md |
Documents Firebender in the supported integrations table. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 6/6 changed files
- Comments generated: 2
Comment on lines
+105
to
+113
| "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"] | ||
| }, |
| | [Codex CLI](https://github.com/openai/codex) | `codex` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `$speckit-<command>` | | ||
| | [Cursor](https://cursor.sh/) | `cursor-agent` | | | ||
| | [Devin for Terminal](https://cli.devin.ai/docs) | `devin` | Skills-based integration; installs skills into `.devin/skills/` and invokes them as `/speckit-<command>` | | ||
| | [Firebender](https://firebender.com/) | `firebender` | IDE-based agent for Android Studio / IntelliJ | |
Collaborator
|
Please address Copilot feedback |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Closes #1548 — adds Firebender (AI coding agent for Android Studio / IntelliJ) as a built-in integration. A maintainer invited this on the issue ("Open for your or anyone else contribution for this!").
Firebender reads project-local customization from a
.firebender/directory, verified against Firebender's docs:.firebender/commands/*.mdc(Markdown with optional YAML frontmatter) — "Command files use the.mdcextension"..firebender/rules/*.mdc.So
FirebenderIntegrationis a standardMarkdownIntegrationthat:.firebender/commands/speckit.*.mdc,.firebender/rules/specify-rules.mdc(the existing generic.mdchandling adds thealwaysApply: truefrontmatter, same as the Cursor.mdcpath),command_filename()so the init-time commands also use.mdc(the extension Firebender requires —.mdfiles are not recognized), keeping it consistent withregistrar_config["extension"].Follows the 6-step
integrations/CONTRIBUTING.mdchecklist and mirrors recent agent additions (Hermes #2547, Kimi, Trae). Purely additive — no existing integration, CLI flag, output, or file format changes;AGENT_CONFIGSis auto-derived from the registry.Files: new
integrations/firebender/__init__.py+ test; registry import/register;integrations/catalog.jsonentry;docs/reference/integrations.mdrow.Heads-up: open agent-addition PRs #3063 (ZCode) and #2734 (Alquimia) also touch the alphabetical block in
integrations/__init__.pyandcatalog.json; happy to rebase whichever lands first.Testing
uv run specify --help(exit 0)uv sync && uv run pytestspecify init --here --integration firebender --script sh(andps) scaffolds.firebender/commands/speckit.*.mdc+.firebender/rules/specify-rules.mdc(covered by the integration test's CLI inventory cases)Details (Windows 11, Python 3.12.12):
uvx ruff check src/— All checks passeduv run pytest tests/integrations/test_integration_firebender.py— 20 passed (registration, config, setup/teardown roundtrip, context upsert/remove,.mdccommand output, and fullspecify initfile inventory for bothshandps)uv run pytest tests/integrations/test_registry.py tests/test_agent_config_consistency.py— 1136 passed (registry completeness + the multi-install-safe distinct-root/commands/context contracts for the new.firebender/namespace)npx markdownlint-cli2 docs/reference/integrations.md— 0 errorsuv run pytest— the only failures are the 14 pre-existing Windowsos.symlinkWinError 1314privilege failures (unrelated, identical to cleanmain).AI Disclosure
Developed with Claude Code (Claude Opus 4.8) under my direction. AI helped research Firebender's documented file conventions (
.firebender/commands/*.mdc,.firebender/rules/*.mdc), implement the integration mirroring the existing pattern, and run the verification above. I confirmed the.mdccommand requirement against Firebender's official docs, verified the change is purely additive, and reviewed the full diff before submitting. I'll disclose if any review responses are AI-assisted as well.