Sync your Antigravity settings, extensions, keybindings, and snippets across devices using Google Drive.
Note: This extension is designed exclusively for Antigravity IDE. A warning will be shown if used on other editors.
- Full Dashboard UI — Modern webview panel with account info, profile management, and quick actions
- Folder-based Profiles — Each profile stored as a dedicated folder with separate config files for easy extensibility
- Sync Item Selection — Choose which items to sync (Settings, Extensions, Keybindings, Snippets) per operation with checkbox modals
- Sync Progress Modal — Real-time step-by-step progress with animated progress bar during sync operations
- Extension Sync Confirm — In-webview modal showing extensions to install/remove before applying
- Progressive Loading — Dashboard appears instantly, data loads progressively with spinners
- App Data Explorer — Browse files/folders in Google Drive appDataFolder with folder navigation, file preview, and pagination
- Google Drive Storage — Data stored securely in a hidden app-specific folder
- One-Click Sync — Push or pull your entire configuration in seconds
- Cross-Platform — Windows, macOS, and Linux
- Secure — Google OAuth 2.0, tokens encrypted by OS via SecretStorage
- Google Avatar — Display your Google profile picture in the dashboard
📄 See FEATURES.md for detailed feature documentation.
| Item | Synced |
|---|---|
Settings (settings.json) |
✅ |
Keybindings (keybindings.json) |
✅ |
| Extensions | ✅ |
| Snippets | ✅ |
Search for "Antigravity Sync" in the Extensions panel, or install directly from open-vsx.org.
- Download the
.vsixfile from Releases - Open Antigravity → Extensions →
...→ Install from VSIX
- Antigravity IDE
- A Google account
- Install the extension
- Click the StatusBar button or run
Antigravity Sync: Open Dashboard - Click Sign in with Google → Authorize in browser → you're done!
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
| Command | Description |
|---|---|
| Antigravity Sync: Open Dashboard | Open the Dashboard panel |
All profile management (create, pull, push, delete), account actions (sign in/out), and settings are available directly within the Dashboard UI.
Click the $(sync) Antigravity Sync button in the status bar to quickly open the Dashboard.
- Account Card — Shows your Google email and avatar with sign-out button
- Quick Actions — Create profile, set settings/keybindings path, view logs
- Profile Cards — Pull, push, or delete profiles with one click
- Modal Dialogs — Create profile input, delete/sign-out confirmations, reload prompt
- Toast Notifications — Success/error/info feedback with progress bar and close button
- Authentication: OAuth 2.0 flow opens your browser for Google login
- Storage: Profiles are saved in Google Drive's hidden appDataFolder — invisible to the user, doesn't consume storage quota
- Sync: Settings, keybindings, and snippets are stored as base64-encoded content, preserving comments and formatting
| Setting | Default | Description |
|---|---|---|
antigravitysync.excludeExtensions |
[] |
Extension IDs to exclude from sync |
- Extension sync will prompt before installing/uninstalling extensions
- A window reload may be required after pulling a profile
- Tokens are stored securely via OS-level encryption (SecretStorage)
- OAuth credentials are injected at build time from
.env(not in source code)
- Node.js 20+
- Antigravity IDE (for testing)
- Google OAuth Client ID (Google Cloud Console → Desktop app type)
git clone https://github.com/thotam/antigravity-sync.git
cd antigravity-sync
npm install
cp .env.example .env # Fill in your Google OAuth credentialsnpm run compile # Build once (development mode)
npm run watch # Build & watch for changes
antigravity --extensionDevelopmentPath="$(pwd)" # Launch Antigravity with extensionnpm run package # Webpack production buildnpx -y @vscode/vsce package --allow-missing-repository
# Output: antigravity-sync-x.x.x.vsixnpx -y ovsx publish antigravity-sync-x.x.x.vsix -p <YOUR_OPENVSX_TOKEN>Get token from: open-vsx.org/user-settings/tokens
- Go to Releases → New release
- Create tag:
vX.X.X - Title:
vX.X.X — Description - Upload
.vsixfile as asset - Copy changelog entries as release notes
src/
├── extension.ts # Entry point, single command, StatusBar
├── models/
│ └── interfaces.ts # TypeScript interfaces
├── providers/
│ └── dashboard-provider.ts # Full webview panel dashboard
├── webview/
│ ├── dashboard.css # Dashboard styles (modal, toast, cards)
│ └── dashboard.js # Dashboard logic (modal system, state rendering)
└── core/
├── google-auth.ts # Google OAuth 2.0 flow
├── google-drive.ts # Google Drive API (appDataFolder)
├── sync-controller.ts # Read/write Antigravity config
└── logger.ts # Output channel logging
- 📝 Snippets Sync — Sync user snippets across devices (base64-bundled)
- 🔧 Base64 Config Storage — Settings and keybindings now preserve comments and whitespace
- 🛡️ Orphaned Panel Cleanup — Dashboard auto-closes on extension restart
- 🗑️ Removed
json5dependency ⚠️ Breaking: Profiles from v0.5.0 are incompatible — delete and recreate
- 📂 Folder-based Profiles — Each profile is a folder with
meta.json,settings.json,extensions.json,keybindings.json - ☑️ Sync Item Selection — Choose Settings/Extensions/Keybindings per create/push/pull via checkbox modals
- ⏳ Sync Progress Modal — Step-by-step progress display with animated bar during create/push/pull
- 🧩 Extension Sync Confirm — In-webview modal listing extensions to install/remove
- ⚡ Progressive Loading — Dashboard appears instantly, profiles and files load progressively
- 📊 Root Sync Meta — Central
sync-meta.jsonfor fast profile listing (2 API calls vs N+1) ⚠️ Breaking: Profiles from v0.4.0 are incompatible — delete and recreate
- 📂 App Data Explorer — Browse all files/folders in Google Drive appDataFolder
- 🗂️ Folder Navigation — Double-click to drill down, breadcrumb trail, back button
- 👁️ File Preview — View JSON and text file content in a formatted modal
- 📄 Pagination — Prev/Next controls for large directories (20 items/page)
- 🎨 Full Dashboard UI — Modern webview panel replaces command palette menu
- 🪟 Modal System — Custom confirm/input modals with backdrop blur and animations
- 🔔 Toast Notifications — Upgraded with close button, progress bar, and slide-in animation
- 👤 Google Avatar — Display profile picture in header and account card
- 🧹 Simplified Commands — Only
Open Dashboardremains, all actions are in the panel - 🌍 English UI — All user-facing text translated to English for global accessibility
- 🔄 Switched to Google Drive — replaced GitHub Gists with Google Drive appDataFolder
- 🔒 Google OAuth 2.0 — secure login via browser, tokens encrypted by OS
- 🔐 Build-time credentials — OAuth secrets injected via
.env+ DefinePlugin - 🎯 Antigravity Only — focused support with warning for other editors
- 🗑️ Removed GitHub dependency — no longer requires GitHub account or token
- 🎉 Initial release with GitHub Gist storage
Contributions are welcome! Please open an issue or submit a pull request on GitHub.