Skip to content

feat: add native Antigravity (agy) integration - #731

Merged
sbertix merged 2 commits into
supabitapp:mainfrom
uvayankee:add-agy
Jul 29, 2026
Merged

feat: add native Antigravity (agy) integration#731
sbertix merged 2 commits into
supabitapp:mainfrom
uvayankee:add-agy

Conversation

@uvayankee

Copy link
Copy Markdown
Contributor

Closes #711

Summary

Adds native integration for the Google Antigravity (agy) coding agent:

- **Agent Identity & Integration**: Adds `SkillAgent.antigravity` with display name "Antigravity", config directory `~/.gemini/antigravity-cli`, and `antigravity-mark` asset set.
- **Hooks & Settings Installer**: Implements `AntigravityHookSettings` and `AntigravitySettingsInstaller` to register managed presence hooks in `~/.

gemini/config/hooks.jsonand install thesupacode-cliskill into~/.gemini/antigravity-cli/skills/supacode-cli/SKILL.md. - **Sidebar & UI**: Integrates Antigravity into DeveloperSettingsView, AgentAvatarGroupView, and updates CodingAgentsSidebarCardView's re-engagement cutoff date for the launch. - **Testing**: Includes full unit test coverage in AntigravitySettingsInstallerTests, SkillAgentTests, AgentPresenceOSCTests, and CodingAgentsSidebarCardModeTests`.

Type of change

  • Bug fix (the linked issue is a bug report)
  • Feature (the linked issue is a feature request marked ready)
  • Documentation
  • Other (please describe)

How was this tested?

  • make check passes (format + lint)
  • make test passes
  • I built and ran the app to confirm the change works

AI tool disclosure (optional)

  • Model(s): Gemini Flash 3.5/3.6 & Opus 4.6
  • Harness / tools: Antigravity CLI

Checklist

  • This pull request is linked to an issue with Closes # above.
  • For a feature, the linked issue is labeled ready.
  • I am the author of this work and accountable for it; no commit is authored or co-authored by an AI agent.
  • I have read the Contributing guide and the Code of Conduct.

uvayankee and others added 2 commits July 25, 2026 15:50
installState determines Supacode-hook presence before checking the feature
toggles, so a user's pre-existing ~/.gemini/config/hooks.json with no Supacode
hooks reads as not installed and is never auto-installed over without consent.

Drift detection compares managed commands per event rather than as a flattened
set, so a removed event that shares its command with another (Pre* use busy,
Post* use idle) is correctly reported outdated. installState also validates the
event shapes it reports on, so a config that install and uninstall would reject
is not shown as installed.

install and uninstall reject a non-object supacode-hooks namespace and scalar
event entries instead of overwriting or retaining data Supacode does not own. A
failed hooks.json delete during uninstall is surfaced rather than swallowed, and
the installer logs its error paths through SupaLogger like the sibling
installers.

AgentBadgeView mirrors each asset's catalog template intent. Adds tests for the
consent case, per-event and cross-event drift, legacy hook migration, corrupt
files, and malformed-shape rejection.

@sbertix sbertix left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 🙇‍♂️

@sbertix
sbertix enabled auto-merge (squash) July 29, 2026 21:36
@sbertix
sbertix merged commit a2a086e into supabitapp:main Jul 29, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Antigravity CLI skills, hooks, and icon

2 participants