Skip to content

Commit 10527b6

Browse files
authored
feat(shared): add Antigravity CLI (agy) as a built-in terminal agent (#6767)
* feat(shared): add Antigravity CLI (agy) as a built-in terminal agent Adds Google's Antigravity CLI (agy) to BUILTIN_TERMINAL_AGENTS, with the official mark as its preset icon, README row, docs bullet, and marketing demo entry. Rebased from #5772; prompt launches use -i (positional prompts are rejected by the CLI), resume uses --conversation <id>, agy -p is the headless form. Verified against an installed agy 1.1.19. Co-authored-by: Fraser Brown <173673575+thebrownproject@users.noreply.github.com> Claude-Session: https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f * feat(desktop): expose Antigravity in the icon picker, settings search, and preset docs Claude-Session: https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
1 parent 9cacc38 commit 10527b6

11 files changed

Lines changed: 79 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ Superset works with any CLI-based coding agent, including:
188188
| Agent | Status |
189189
|:------|:-------|
190190
| <img height="16" align="top" alt="Amp Code" src="packages/ui/src/assets/icons/preset-icons/amp.svg" /> &nbsp;[Amp Code](https://ampcode.com/) | Fully supported |
191+
| <img height="16" align="top" alt="Antigravity" src="packages/ui/src/assets/icons/preset-icons/antigravity.svg" /> &nbsp;[Antigravity CLI](https://antigravity.google/) | Fully supported |
191192
| <img height="16" align="top" alt="Claude Code" src="packages/ui/src/assets/icons/preset-icons/claude.svg" /> &nbsp;[Claude Code](https://github.com/anthropics/claude-code) | Fully supported |
192193
| <picture><source media="(prefers-color-scheme: dark)" srcset="packages/ui/src/assets/icons/preset-icons/codex-white.svg" /><img height="16" align="top" alt="OpenAI Codex CLI" src="packages/ui/src/assets/icons/preset-icons/codex.svg" /></picture> &nbsp;[OpenAI Codex CLI](https://github.com/openai/codex) | Fully supported |
193194
| <img height="16" align="top" alt="Cursor Agent" src="packages/ui/src/assets/icons/preset-icons/cursor.svg" /> &nbsp;[Cursor Agent](https://docs.cursor.com/agent) | Fully supported |

apps/desktop/src/renderer/routes/_authenticated/settings/agents/components/V2AgentsSettings/components/AgentIconPicker/agent-icon-options.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@ export const AGENT_ICON_OPTIONS: readonly AgentIconOption[] = [
2222
{ id: "vibe", label: "Mistral Vibe" },
2323
{ id: "kimi", label: "Kimi Code" },
2424
{ id: "grok", label: "Grok" },
25+
{ id: "agy", label: "Antigravity" },
2526
{ id: "kiro", label: "Kiro" },
2627
];

apps/desktop/src/renderer/routes/_authenticated/settings/utils/settings-search/settings-search.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -867,6 +867,9 @@ export const SETTINGS_ITEMS: SettingsItem[] = [
867867
"moonshot",
868868
"grok",
869869
"xai",
870+
"antigravity",
871+
"agy",
872+
"google",
870873
"kiro",
871874
"aws",
872875
],
@@ -930,6 +933,9 @@ export const SETTINGS_ITEMS: SettingsItem[] = [
930933
"moonshot",
931934
"grok",
932935
"xai",
936+
"antigravity",
937+
"agy",
938+
"google",
933939
"kiro",
934940
"aws",
935941
],

apps/docs/content/docs/agent-integration.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Run AI coding agents in isolated workspaces. Each agent works independently with
2525
- **Cursor Agent** - Cursor AI agent
2626
- **Droid** - Factory's autonomous coding agent
2727
- **Polygraph** - Meta-harness with cross-repo visibility and persistent memory
28+
- **Antigravity** - Google's Antigravity CLI (`agy`)
2829
- **Kiro** - AWS's spec-driven CLI coding agent
2930

3031
## Chat

apps/docs/content/docs/terminal-presets.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ Pre-configured presets for popular AI agents. Defaults mirror the bundled Supers
5555
- **vibe** - `vibe --trust --auto-approve` (Mistral's coding agent; trust grants access to `AGENTS.md` and `.agents/skills/`)
5656
- **kimi** - `kimi` (Kimi Code CLI; prompt launches run with `kimi -p` and resume in the interactive TUI)
5757
- **grok** - `grok --always-approve` (xAI's Grok Build CLI; prompts seed the interactive session directly)
58+
- **agy** - `agy --mode accept-edits` (Google's Antigravity CLI; prompt launches seed the interactive session with `-i`)
5859
- **kiro** - `kiro-cli chat --trust-all-tools` (AWS's Kiro CLI; prompts seed the interactive session directly)
5960

6061
## Preset Bar
Lines changed: 12 additions & 0 deletions
Loading

apps/marketing/src/app/components/FeaturesSection/components/UniversalCompatibilityDemo/UniversalCompatibilityDemo.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const AGENTS = [
1515
{ name: "Mistral Vibe", icon: "/app-icons/vibe.svg", size: 18 },
1616
{ name: "Kimi Code", icon: "/app-icons/kimi.svg", size: 18 },
1717
{ name: "Grok CLI", icon: "/app-icons/grok.svg", size: 18 },
18+
{ name: "Antigravity", icon: "/app-icons/agy.svg", size: 18 },
1819
{ name: "Kiro", icon: "/app-icons/kiro.svg", size: 18 },
1920
];
2021

packages/shared/src/agent-command.test.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,34 @@ describe("kiro agent registration", () => {
125125
});
126126
});
127127

128+
describe("agy agent registration", () => {
129+
it("is a registered terminal agent with the right label", () => {
130+
expect(AGENT_TYPES).toContain("agy");
131+
expect(AGENT_LABELS.agy).toBe("Antigravity");
132+
});
133+
134+
it("seeds prompt launches into the interactive session via -i", () => {
135+
const command = buildAgentPromptCommand({
136+
prompt: "hello",
137+
randomId: "agy-1234",
138+
agent: "agy",
139+
});
140+
141+
expect(command).toStartWith(
142+
"agy --mode accept-edits -i \"$(cat <<'SUPERSET_PROMPT_agy1234'",
143+
);
144+
expect(command).toEndWith('\n)"');
145+
});
146+
147+
it("derives host preset args and id-based resume from the base command", () => {
148+
const preset = getPresetById("agy");
149+
expect(preset?.command).toBe("agy");
150+
expect(preset?.args).toEqual(["--mode", "accept-edits"]);
151+
expect(preset?.promptArgs).toEqual(["-i"]);
152+
expect(preset?.resumeArgs).toEqual(["--conversation"]);
153+
});
154+
});
155+
128156
describe("grok agent registration", () => {
129157
it("is a registered terminal agent with the right label", () => {
130158
expect(AGENT_TYPES).toContain("grok");

packages/shared/src/builtin-terminal-agents.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,18 @@ export const BUILTIN_TERMINAL_AGENTS = [
208208
resumeCommand: "kiro-cli chat --trust-all-tools --resume-id",
209209
nonInteractiveCommand: "kiro-cli chat --no-interactive",
210210
}),
211+
createBuiltinTerminalAgent({
212+
// Google's Antigravity CLI. The id matches the binary name (`agy`), the
213+
// same way every other builtin id is the command users type.
214+
id: "agy",
215+
label: "Antigravity",
216+
description:
217+
"Google's Antigravity CLI for reasoning, editing, and running code from the terminal.",
218+
command: "agy --mode accept-edits",
219+
promptCommand: "agy --mode accept-edits -i",
220+
resumeCommand: "agy --mode accept-edits --conversation",
221+
nonInteractiveCommand: "agy -p",
222+
}),
211223
] as const;
212224

213225
export type BuiltinTerminalAgentType =
Lines changed: 12 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)