Feat: add a new agent: Google Anti Gravity#1220
Conversation
|
Hey @localden Just added another new agent for Anti Gravity. Please let me know if it looks good to you |
@sakshamnanda The specify init command only pulls packages release officially. I actually have another separate PR to add a separate option "--template-file" in the "specify-cli" so that you can init from a specific package. Check this out: #1057 |
I used this command to use your branch to initialise, and that's how I got the error. |
|
I appreciate for the quick turn-around, however I would like have this change merged with README update and released as template just like for other IDEs. Hope to see that soon. Great Job and Thank you again! |
@sakshamnanda For current |
|
@TCoherence can you please resolve the conflicts before we can merge this? Also, seems like you're using the |
@localden Sure will do later this week when free. |
|
Hey @localden Just fixed the conflicts and please let me know if it looks good to you. 🤜 |
|
Please help merge this one @localden. |
1 similar comment
|
Please help merge this one @localden. |
|
Hey @localden Can you take a quick look at this PR? Thanks! |
|
awaiting for this as well |
|
looking forward to this |
|
Looking forward to supporting Antigravity |
|
looking forward to it to be merged |
|
@TCoherence Hey There, is there a guild on how to use this till this gets merged? |
|
My Christmas wish was for this story to get merged 😥 |
|
Hey Guys, I found a way to make this spec-kit work with antigravity, download the release template for gemini-sh, rename the workflows folder as below (make sure you change the extension to .md) Edit: built the static feedpost app in an hour using spec-kit and antigravity:
|
|
Let's finally merge it. ;) |
|
@TCoherence Hi, I just updated your Antigravitiy thread, but there are no resources available (No matching resource found for agy (expected template: spec-kit-template-agy-sh). Could you please update it? |
|
Came across this , looking forward to see this merged |
|
Hey @localden Do you get a chance to take a look at this one? |
@black1good You can actually build the resource template on the branch but once this PR is merged we can release a new package for antigravity |
|
hey @localden any plans to get this merged? |
There was a problem hiding this comment.
Pull request overview
Adds support for a new AI agent key (agy) intended for Google Antigravity, wiring it through the CLI, agent-context update scripts, and release packaging so users can scaffold templates for that agent.
Changes:
- Add
agyto the CLI agent configuration andspecify init --aihelp text. - Extend bash/PowerShell agent-context update scripts to recognize/update the Antigravity rules file.
- Include
agytemplates in release package generation and GitHub release artifact lists; document the agent in the README.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/specify_cli/init.py | Registers the new agy agent in AGENT_CONFIG and exposes it via --ai help text. |
| scripts/powershell/update-agent-context.ps1 | Adds agy to supported agent types and updates/creates the Antigravity context rules file. |
| scripts/bash/update-agent-context.sh | Adds agy support and file path handling for the Antigravity context rules file. |
| README.md | Documents Antigravity in supported agents and in the --ai option list. |
| .github/workflows/scripts/create-release-packages.sh | Generates agy release packages and includes agy in the default agent build list. |
| .github/workflows/scripts/create-github-release.sh | Uploads agy template zip files as part of GitHub release creation. |
Comments suppressed due to low confidence (1)
scripts/bash/update-agent-context.sh:756
print_summary’s usage string is missing some supported agent types (e.g.,roo,amp) even though they are handled byupdate_specific_agentand mentioned in other help/error strings. Please make the usage list consistent with the actual supported agent keys.
log_info "Usage: $0 [claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|codebuddy|shai|q|agy|bob|qoder]"
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| def init( | ||
| project_name: str = typer.Argument(None, help="Name for your new project directory (optional if using --here, or use '.' for current directory)"), | ||
| ai_assistant: str = typer.Option(None, "--ai", help="AI assistant to use: claude, gemini, copilot, cursor-agent, qwen, opencode, codex, windsurf, kilocode, auggie, codebuddy, amp, shai, q, bob, or qoder "), | ||
| ai_assistant: str = typer.Option(None, "--ai", help="AI assistant to use: claude, gemini, copilot, cursor-agent, qwen, opencode, codex, windsurf, kilocode, auggie, codebuddy, amp, shai, q, agy, bob, or qoder "), |
There was a problem hiding this comment.
The --ai help text is a hard-coded list (and currently has a trailing space at the end). This is easy to get out of sync with AGENT_CONFIG. Consider generating this string from AGENT_CONFIG.keys() (and trimming the trailing whitespace) so adding/removing agents only needs to happen in one place.
| ai_assistant: str = typer.Option(None, "--ai", help="AI assistant to use: claude, gemini, copilot, cursor-agent, qwen, opencode, codex, windsurf, kilocode, auggie, codebuddy, amp, shai, q, agy, bob, or qoder "), | |
| ai_assistant: str = typer.Option(None, "--ai", help=f"AI assistant to use: {', '.join(sorted(AGENT_CONFIG.keys()))}"), |
| # | ||
| # Usage: ./update-agent-context.sh [agent_type] | ||
| # Agent types: claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|shai|q|bob|qoder | ||
| # Agent types: claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|shai|q|agy|bob|qoder |
There was a problem hiding this comment.
The header comment’s Agent types: list is now inconsistent with what the script actually supports (the case statement below includes roo, codebuddy, amp, etc., but they’re missing here). Please update this list to match the real supported set so users don’t get misled by the usage docs.
This issue also appears on line 756 of the same file.
| # Agent types: claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|shai|q|agy|bob|qoder | |
| # Agent types: claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|shai|q|agy|bob|qoder|roo|codebuddy|amp |
src/specify_cli/__init__.py
Outdated
| "install_url": None, | ||
| "requires_cli": True, |
There was a problem hiding this comment.
For the new agy agent, requires_cli is set to True but install_url is None. If agy is not on PATH, specify init will fail and the error panel will display “Install from: None”. Either provide a real install URL and ensure the binary name to check is correct, or mark this agent as IDE-based (requires_cli=False) like other IDE agents (Cursor/Windsurf/etc.).
| "install_url": None, | |
| "requires_cli": True, | |
| "install_url": None, # IDE-based | |
| "requires_cli": False, |
….0.98) Key upstream changes absorbed: - Modular extension system (PR github#1551): plugin architecture with YAML manifests, extension catalog, hook system, CLI management commands - Constitution preservation on reinit (PR github#1553): template moved to templates/constitution-template.md, user customizations preserved - .specify.specify path bug fix (PR github#1588): double-nesting resolved - Google Anti Gravity agent support (PR github#1220): new agy agent in release - Stale workflow (PR github#1594): auto-close inactive issues after 180 days - Dependabot config (PR github#1622): automated pip and Actions updates - Markdownlint fixes (PR github#1571), plan template typo (PR github#1446) - README maintainers section removed (PR github#1618) Conflict resolutions: - pyproject.toml: kept our version (0.0.20.post1) over upstream 0.1.0 - plan-template.md: kept /sp.plan prefix over upstream /speckit.plan - create-release-packages.sh: merged agy agent + kept our generate_agent_rules; updated constitutionplus/command-rules paths from memory/ to templates/ to match upstream rename - README.md: kept our SpecifyPlus content, dropped upstream maintainers section (already removed upstream), preserved contributing section - templates/command-rules.md, templates/constitutionplus.md: accepted memory/ → templates/ relocation matching upstream convention Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>





Background
Recently Google just release their new AI IDE - Anti Gravity with Gemini 3.0 Pro! I noticed that we already have 2 threads talking about this #1213 and #1217
So this is the PR to officially support this!
AI disclosure
This code is mainly done by using Anti Gravity with Gemini 3.0 Pro, with some manual fixes
Test Screenshot
Used

.github/workflows/scripts/create-release-packages.shscript to generate a local release package and manully copied it to local branch to test it out, the result is as follows: