Add first-class Antigravity CLI profile support - #45
Merged
Conversation
burakdede
added a commit
that referenced
this pull request
Aug 1, 2026
Antigravity has been a supported tool since #45 but was absent from the README and most of the doc site. It is now documented everywhere the other three tools are. Corrected claims that did not match the binary: - `oauth_account.json` -> `oauth-account.json` - Backup ids shown as `20260325T114502Z-claude-work`; the real format is `2026-03-25T11-45-02.123Z-0000`, and backups nest as <id>/<tool>/<profile>/ - `jq '.[] | select(.token_warning != null)'` — no such field exists - `jq '... select(.profile == "claude/work") | sort_by(.created_at)'` — backup entries have no `created_at` and `profile` is just the name - `aisw list codex --json | jq '.profiles[].name'` — output is grouped by tool, so this iterated null - Quickstart listed `--from-live` under "Interactive OAuth", which is the opposite of what it does Filled gaps in the reference: missing `--json` on use/remove/rename/ backup restore, missing filter flags on list/status/backup list, missing `--antigravity` on context create/set/unset, and the global flags. Documented previously unwritten behavior: exit codes (0/1/2) and the JSON failure envelope, `~/.aisw/workspaces.json`, `use --all` skip-vs-fail semantics, duplicate-account detection, API-key charset validation, and that `uninstall --remove-data` also purges keyring entries. Site generator: `sync-docs.mjs` hardcodes the SEO descriptions and hero tagline that override doc frontmatter, so those were stale too. Verified: every documented command resolves to a real subcommand, 35 documented workflows execute end to end, and all 16 jq pipelines run clean against real output. Site builds (15 pages), SEO check passes.
burakdede
added a commit
that referenced
this pull request
Aug 1, 2026
Antigravity has been a supported tool since #45 but was absent from the README and most of the doc site. It is now documented everywhere the other three tools are. Corrected claims that did not match the binary: - `oauth_account.json` -> `oauth-account.json` - Backup ids shown as `20260325T114502Z-claude-work`; the real format is `2026-03-25T11-45-02.123Z-0000`, and backups nest as <id>/<tool>/<profile>/ - `jq '.[] | select(.token_warning != null)'` — no such field exists - `jq '... select(.profile == "claude/work") | sort_by(.created_at)'` — backup entries have no `created_at` and `profile` is just the name - `aisw list codex --json | jq '.profiles[].name'` — output is grouped by tool, so this iterated null - Quickstart listed `--from-live` under "Interactive OAuth", which is the opposite of what it does Filled gaps in the reference: missing `--json` on use/remove/rename/ backup restore, missing filter flags on list/status/backup list, missing `--antigravity` on context create/set/unset, and the global flags. Documented previously unwritten behavior: exit codes (0/1/2) and the JSON failure envelope, `~/.aisw/workspaces.json`, `use --all` skip-vs-fail semantics, duplicate-account detection, API-key charset validation, and that `uninstall --remove-data` also purges keyring entries. Site generator: `sync-docs.mjs` hardcodes the SEO descriptions and hero tagline that override doc frontmatter, so those were stale too. Verified: every documented command resolves to a real subcommand, 35 documented workflows execute end to end, and all 16 jq pipelines run clean against real output. Site builds (15 pages), SEO check passes.
burakdede
added a commit
that referenced
this pull request
Aug 1, 2026
…le (#50) Antigravity has been a supported tool since #45 but was absent from the README and most of the doc site. It is now documented everywhere the other three tools are. Corrected claims that did not match the binary: - `oauth_account.json` -> `oauth-account.json` - Backup ids shown as `20260325T114502Z-claude-work`; the real format is `2026-03-25T11-45-02.123Z-0000`, and backups nest as <id>/<tool>/<profile>/ - `jq '.[] | select(.token_warning != null)'` — no such field exists - `jq '... select(.profile == "claude/work") | sort_by(.created_at)'` — backup entries have no `created_at` and `profile` is just the name - `aisw list codex --json | jq '.profiles[].name'` — output is grouped by tool, so this iterated null - Quickstart listed `--from-live` under "Interactive OAuth", which is the opposite of what it does Filled gaps in the reference: missing `--json` on use/remove/rename/ backup restore, missing filter flags on list/status/backup list, missing `--antigravity` on context create/set/unset, and the global flags. Documented previously unwritten behavior: exit codes (0/1/2) and the JSON failure envelope, `~/.aisw/workspaces.json`, `use --all` skip-vs-fail semantics, duplicate-account detection, API-key charset validation, and that `uninstall --remove-data` also purges keyring entries. Site generator: `sync-docs.mjs` hardcodes the SEO descriptions and hero tagline that override doc frontmatter, so those were stale too. Verified: every documented command resolves to a real subcommand, 35 documented workflows execute end to end, and all 16 jq pipelines run clean against real output. Site builds (15 pages), SEO check passes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds first-class Antigravity CLI support to
aiswaround the upstream model Antigravity actually exposes today: a shared live keyring-backed OAuth session plus the documented~/.gemini/antigravity-cli/and~/.gemini/config/state roots.This brings Antigravity onto the same practical management surface as the other agents:
add antigravity <profile>add antigravity <profile> --from-liveuse antigravity <profile>list/statusbackup restorerename/removecontext ... --antigravityWhat Changed
src/auth/antigravity.rsAcceptance Criteria Audit
Issue: Closes #44
Covered by implementation and tests:
aisw add antigravity <profile>works with interactive Antigravity loginaisw add antigravity <profile> --from-liveimports the current live Antigravity sessionaisw use antigravity <profile>restores the managed credential and Antigravity config roots transactionallyaisw statusandaisw status --jsonreport Antigravity profile state clearlyaisw list --jsonincludes Antigravity profiles and active state--antigravityVerification
Targeted additions now cover:
Both follow-up coverage commits passed the full repo hook, including
fmt,clippy, release build, unit tests, integration tests, JSON/gui contracts, lifecycle suites, and secure-backend suites.