Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ The wizard:
- checks the prerequisites (Node.js, LocalStack CLI, Docker) and tells you how to fix anything missing,
- picks up your `LOCALSTACK_AUTH_TOKEN` from the environment, or asks for it,
- lets you pass extra LocalStack config (e.g. `DEBUG=1,PERSISTENCE=1`),
- detects your installed MCP clients (Cursor, Claude Code, Claude Desktop, VS Code, Codex, OpenCode, Amazon Q CLI) and writes the right configuration for each one you select.
- detects your installed MCP clients (Cursor, Antigravity, Claude Code, Claude Desktop, VS Code, Codex, OpenCode, Amazon Q CLI) and writes the right configuration for each one you select.

It can also run fully non-interactively, e.g. in dotfiles or scripts:

Expand Down
14 changes: 14 additions & 0 deletions src/lib/wizard/clients/registry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import * as path from "path";
import { opencodeEntry, standardEntry, vscodeEntry } from "../entry-builders.logic";
import {
amazonQConfigPath,
antigravityConfigPath,
claudeDesktopConfigPath,
cursorConfigPath,
opencodeConfigDir,
Expand All @@ -29,6 +30,18 @@ const cursorAdapter = createFileClientAdapter({
buildEntry: standardEntry,
});

const antigravityAdapter = createFileClientAdapter({
id: "antigravity",
label: "Antigravity",
restartNote:
"Restart Antigravity — the server appears under the Agent panel ▸ MCP Servers ▸ Manage MCP Servers.",
configPath: (ctx) => antigravityConfigPath(ctx),
// ~/.gemini is Antigravity's home (the standalone Gemini CLI that also used it is retired).
detectInstalled: async (ctx) => exists(path.join(ctx.homeDir, ".gemini")),
rootPath: ["mcpServers"],
buildEntry: standardEntry,
});

const claudeDesktopAdapter = createFileClientAdapter({
id: "claude-desktop",
label: "Claude Desktop",
Expand Down Expand Up @@ -99,6 +112,7 @@ const amazonQAdapter = createFileClientAdapter({
*/
export const CLIENT_ADAPTERS: ClientAdapter[] = [
cursorAdapter,
antigravityAdapter,
claudeCodeAdapter,
claudeDesktopAdapter,
vscodeAdapter,
Expand Down
7 changes: 7 additions & 0 deletions src/lib/wizard/paths.logic.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import {
amazonQConfigPath,
antigravityConfigPath,
claudeCodeUserConfigPath,
claudeDesktopConfigPath,
codexConfigPath,
Expand All @@ -23,6 +24,12 @@ describe("client config paths", () => {
expect(cursorConfigPath(linux)).toBe("/home/dev/.cursor/mcp.json");
});

it("resolves Antigravity's shared MCP config in the home directory", () => {
expect(antigravityConfigPath(mac)).toBe("/Users/dev/.gemini/config/mcp_config.json");
expect(antigravityConfigPath(linux)).toBe("/home/dev/.gemini/config/mcp_config.json");
expect(antigravityConfigPath(win)).toContain(".gemini/config/mcp_config.json");
});

it("resolves Claude Desktop on macOS and Windows, null on Linux", () => {
expect(claudeDesktopConfigPath(mac)).toBe(
"/Users/dev/Library/Application Support/Claude/claude_desktop_config.json"
Expand Down
8 changes: 8 additions & 0 deletions src/lib/wizard/paths.logic.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ export function cursorConfigPath(ctx: ClientContext): string {
return path.join(ctx.homeDir, ".cursor", "mcp.json");
}

/**
* Antigravity 2.0 keeps a single MCP config shared by the Antigravity IDE and
* the Antigravity CLI at ~/.gemini/config/mcp_config.json (macOS/Linux/Windows).
*/
export function antigravityConfigPath(ctx: ClientContext): string {
return path.join(ctx.homeDir, ".gemini", "config", "mcp_config.json");
}

/** Claude Desktop ships for macOS and Windows only — null elsewhere. */
export function claudeDesktopConfigPath(ctx: ClientContext): string | null {
if (ctx.platform === "darwin") {
Expand Down
1 change: 1 addition & 0 deletions src/lib/wizard/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ export type InstallMethod = "npx" | "docker";

export type ClientId =
| "cursor"
| "antigravity"
| "claude-code"
| "claude-desktop"
| "vscode"
Expand Down
Loading