Skip to content

feat(desktop): add Google Antigravity IDE to Open In dropdown#1552

Merged
Kitenite merged 1 commit into
mainfrom
kitenite/antigravity
Feb 17, 2026
Merged

feat(desktop): add Google Antigravity IDE to Open In dropdown#1552
Kitenite merged 1 commit into
mainfrom
kitenite/antigravity

Conversation

@Kitenite
Copy link
Copy Markdown
Collaborator

@Kitenite Kitenite commented Feb 17, 2026

Summary

  • Add Google Antigravity IDE as an external app option in the "Open in" dropdown menus
  • Users can now open workspaces and files directly in Antigravity from the TopBar and OpenInButton components

Changes

  • packages/local-db/src/schema/zod.ts — Added "antigravity" to the EXTERNAL_APPS type union
  • apps/desktop/src/lib/trpc/routers/external/helpers.ts — Added macOS app name mapping (open -a Antigravity)
  • apps/desktop/src/renderer/components/OpenInButton/OpenInButton.tsx — Added icon import and menu entry (between Cursor and Zed)
  • apps/desktop/src/renderer/assets/app-icons/antigravity.svg — Clean vector icon using the official Antigravity arc shape with Google brand gradient

Test Plan

  • Open a workspace and verify Antigravity appears in the "Open in" dropdown
  • Click Antigravity and confirm it launches the app with the correct path
  • Set Antigravity as last-used app and verify it persists across sessions
  • Verify typecheck passes (bun run typecheck)

Summary by CodeRabbit

  • New Features
    • Added support for opening Antigravity as an external application. Users can now open files and projects directly in Antigravity from within the app's interface. The option appears in the "Open in" menu with a dedicated icon for easy identification and quick access.

Add Antigravity as an external app option so users can open
workspaces and files directly in Google's Antigravity IDE.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 17, 2026

📝 Walkthrough

Walkthrough

Added "Antigravity" as a new external application entry across three configuration files: mapped as a display name in the APP_NAMES lookup table, added to the APP_OPTIONS UI array with icon and label, and registered in the EXTERNAL_APPS literal type definitions.

Changes

Cohort / File(s) Summary
External App Registration
apps/desktop/src/lib/trpc/routers/external/helpers.ts, packages/local-db/src/schema/zod.ts
Added "antigravity" entry to APP_NAMES mapping (helpers.ts) and EXTERNAL_APPS literal array (zod.ts) for app identification and type validation.
UI Configuration
apps/desktop/src/renderer/components/OpenInButton/OpenInButton.tsx
Added "Antigravity" option to APP_OPTIONS array with id, label, and imported antigravityIcon asset for display in OpenInButton component.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Poem

🐰 A rabbit hops with glee so bright,
Antigravity's added—what a sight!
Through helpers and options it now shall fly,
A bound-less app reaching toward the sky!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat(desktop): add Google Antigravity IDE to Open In dropdown' accurately and clearly summarizes the main change—adding Antigravity as a new external app option.
Description check ✅ Passed The PR description is comprehensive, covering changes across multiple files, user-facing impact, and a detailed test plan. It follows the template structure with clear sections.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch kitenite/antigravity

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Kitenite Kitenite merged commit e961595 into main Feb 17, 2026
13 of 14 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 17, 2026

🚀 Preview Deployment

🔗 Preview Links

Service Status Link
Neon Database (Neon) View Branch
Fly.io Electric (Fly.io) View App
Fly.io Streams (Fly.io) View App
Vercel API (Vercel) Open Preview
Vercel Web (Vercel) Open Preview
Vercel Marketing (Vercel) Open Preview
Vercel Admin (Vercel) Open Preview
Vercel Docs (Vercel) Open Preview

Preview updates automatically with new commits

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
apps/desktop/src/renderer/components/OpenInButton/OpenInButton.tsx (1)

102-103: Consider replacing the positional APP_OPTIONS[1] fallback with an explicit ID lookup.

APP_OPTIONS[1] silently relies on cursor being at index 1. Any future reordering of APP_OPTIONS (e.g., adding another entry before cursor) would change the fallback without a compile-time warning. This PR preserves the current index, but the pattern is fragile.

🔧 Suggested fix
-export const getAppOption = (id: ExternalApp) =>
-	ALL_APP_OPTIONS.find((app) => app.id === id) ?? APP_OPTIONS[1];
+export const getAppOption = (id: ExternalApp) =>
+	ALL_APP_OPTIONS.find((app) => app.id === id) ??
+	ALL_APP_OPTIONS.find((app) => app.id === "cursor")!;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/desktop/src/renderer/components/OpenInButton/OpenInButton.tsx` around
lines 102 - 103, getAppOption uses a positional fallback APP_OPTIONS[1], which
is fragile if APP_OPTIONS is reordered; change the fallback to an explicit ID
lookup instead. Update getAppOption (and any uses of
ALL_APP_OPTIONS/APP_OPTIONS) to return ALL_APP_OPTIONS.find(app => app.id ===
id) ?? ALL_APP_OPTIONS.find(app => app.id === 'cursor') (or the appropriate
ExternalApp cursor ID constant), so the fallback is based on the explicit app id
rather than an array index.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@apps/desktop/src/renderer/components/OpenInButton/OpenInButton.tsx`:
- Around line 102-103: getAppOption uses a positional fallback APP_OPTIONS[1],
which is fragile if APP_OPTIONS is reordered; change the fallback to an explicit
ID lookup instead. Update getAppOption (and any uses of
ALL_APP_OPTIONS/APP_OPTIONS) to return ALL_APP_OPTIONS.find(app => app.id ===
id) ?? ALL_APP_OPTIONS.find(app => app.id === 'cursor') (or the appropriate
ExternalApp cursor ID constant), so the fallback is based on the explicit app id
rather than an array index.

@Kitenite Kitenite deleted the kitenite/antigravity branch February 27, 2026 09:29
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.

1 participant