app
Google Antigravity
Public Made by Adomby adom
Google Antigravity in Adom Hydrogen: the editor extension, the agy CLI and a dock dashboard that installs both into your container.
← Commit history
0.1.7: sign-in LED from the token files (extension + CLI), CLI install links to the extension's own agy (no duplicate)
2 files changed
+7−3
README.md+5−1@@ -40,9 +40,13 @@ For Google: a `<base href>` on the hub page, or relative asset paths, would make  +## One copy of the CLI++The VS Code extension downloads its own `agy` to `~/.gemini/bin/agy`. "Install the CLI" links `~/.local/bin/agy` onto that copy and only runs the public installer when no copy exists anywhere; the CLI LED flags a second copy. Hydrogen's Manage AIs and hydrogen-bootstrap apply the same rule.+ ## Sign-in -The extension signs in with Google inside its own panel. The CLI opens a browser on first run; inside a container it prints the sign-in link instead, open it on your desktop. For headless or scripted use, set `GEMINI_API_KEY` and `"modelProvider": "gemini"` in `~/.gemini/antigravity-cli/settings.json` ([CLI install and auth](https://antigravity.google/docs/cli/install/)).+The extension signs in with Google inside its own panel and keeps that login in `~/.gemini/jetski-standalone-oauth-token`; the CLI keeps its own in `~/.gemini/antigravity-cli/antigravity-oauth-token`. They are the same OAuth client and format, and in a Hydrogen workspace Hydrogen copies whichever exists to the other side, so one sign-in covers both (the panel shows a CLI-side sign-in after a window reload). The dashboard's Sign-in LED reads those files; it never runs a prompt, so a quota-limited account still shows as signed in. On its own, the CLI opens a browser on first run; inside a container it prints the sign-in link instead, open it on your desktop and paste the code back. For headless or scripted use, set `GEMINI_API_KEY` and `"modelProvider": "gemini"` in `~/.gemini/antigravity-cli/settings.json` ([CLI install and auth](https://antigravity.google/docs/cli/install/)). ## What the AI launch bar does with it
adom_antigravity.py+2−2@@ -145,9 +145,9 @@ def context(): ready = ext['installed'] and cli['installed'] return {'app': 'adom/antigravity', 'version': VERSION, 'runtime': runtime(), 'container': {'system': platform.system(), 'kernel': platform.release(), 'hostname': platform.node(), 'arch': platform.machine()},- 'extension': ext, 'cli': cli, 'editor': ed, 'hub': hub, 'proxy': pm, 'panelWorks': pm['mode'] == 'subdomain', 'ready': ready,+ 'extension': ext, 'cli': cli, 'signin': signin_state(), 'editor': ed, 'hub': hub, 'proxy': pm, 'panelWorks': pm['mode'] == 'subdomain', 'ready': ready, 'tools': {n: shutil.which(n) for n in ['code-server', 'adom-vscode', 'adom-wiki', 'adom-bridge', 'agy']},- '_hint': 'extension.installed = the Google Antigravity VS Code extension is in code-server (reload the editor after a fresh install); cli.installed = agy is on PATH. POST /api/install-extension, /api/install-cli, /api/open, /api/reload-editor drive the same steps the dashboard buttons do.'}+ '_hint': 'extension.installed = the Google Antigravity VS Code extension is in code-server (reload the editor after a fresh install); cli.installed = agy is on PATH (a link onto the extension\'s own ~/.gemini/bin/agy; cli.duplicate flags a second copy). signin = the Google sign-in read from the token files (extension and CLI; Hydrogen keeps them in sync), never a live prompt. POST /api/install-extension, /api/install-cli, /api/open, /api/reload-editor drive the same steps the dashboard buttons do.'} def install_extension():