From e075c40c9d040f87b84a33db8e49eabcef49cd4a Mon Sep 17 00:00:00 2001 From: rootiest Date: Wed, 20 May 2026 20:41:04 -0400 Subject: [PATCH] feat(ai): migrate gemini-cli references to antigravity-cli (agy) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rename gemini-resume → antigravity-resume and save_gemini_session → save_antigravity_session; update all session files from .gemini_session to .antigravity_session and LAST_GEMINI_SESSION → LAST_ANTIGRAVITY_SESSION. Replace gemini/gemini-cli binary calls with agy throughout superpowers, code-resume, and the resume function. Add antigravity-ide wrapper for the renamed IDE binary; update abbr v → antigravity-ide (VSCode-equivalent) and update README/requirements to reflect the new tool names. --- README.md | 11 +++++---- conf.d/abbr.fish | 2 +- functions/antigravity-ide.fish | 8 +++++++ functions/antigravity-resume.fish | 23 ++++++++++++++++++ functions/antigravity.fish | 6 ++--- functions/code-resume.fish | 8 +++---- functions/save_antigravity_session.fish | 32 +++++++++++++++++++++++++ functions/superpowers.fish | 18 +++++++------- requirements.md | 3 ++- 9 files changed, 88 insertions(+), 23 deletions(-) create mode 100644 functions/antigravity-ide.fish create mode 100644 functions/antigravity-resume.fish create mode 100755 functions/save_antigravity_session.fish diff --git a/README.md b/README.md index bad8ea0..3f8f74c 100644 --- a/README.md +++ b/README.md @@ -329,9 +329,9 @@ Install method priority: **git+cargo source build** (fish) → **cargo** (other | Function | Description | |---|---| | `claude-resume` | Resume Claude Code session from `.claude_session` in CWD | -| `gemini-resume` | Resume Gemini CLI session from `.gemini_session` in CWD | -| `code-resume` | Smart resume — tries Claude then Gemini, falls back to picker | -| `superpowers [on\|off]` | Enable/disable the Superpowers extension for Claude and Gemini | +| `antigravity-resume` | Resume antigravity-cli session from `.antigravity_session` in CWD | +| `code-resume` | Smart resume — tries Claude then antigravity-cli, falls back to picker | +| `superpowers [on\|off]` | Enable/disable the Superpowers extension for Claude and antigravity-cli | | `claude-docs` | Ask Claude to sync `README.md` with recent session changes | | `claude-pr` | Create a branch, commit, push, and open a PR via Claude | @@ -350,7 +350,8 @@ Install method priority: **git+cargo source build** (fish) → **cargo** (other |---|---| | `upgrade` | System upgrade via paru | | `zellij` | Zellij with `--theme catppuccin-mocha` | -| `antigravity` | Wrapper that suppresses a noisy deprecation warning | +| `antigravity` | Wrapper for `agy` (antigravity-cli) that suppresses a noisy warning | +| `antigravity-ide` | Wrapper for `antigravity-ide` binary that suppresses a noisy warning | | `bash` | Drop into bash (raw Fish session via `rawfish`) | --- @@ -379,7 +380,7 @@ These abbreviations replicate Bash's bang-style history expansions. They expand | `n`, `nv` | `nvim` | | `e` | `edit` | | `se` | `sudoedit` | -| `v` | `antigravity` (VSCode-equivalent) | +| `v` | `antigravity-ide` (VSCode-equivalent) | | `k` | `kate` | ### Listing diff --git a/conf.d/abbr.fish b/conf.d/abbr.fish index a9e89db..5ba8278 100644 --- a/conf.d/abbr.fish +++ b/conf.d/abbr.fish @@ -15,7 +15,7 @@ abbr -a neovim nvim abbr -a cdnv 'cd ~/.config/nvim # Neovim Config' abbr -a cdnvn 'cd ~/.config/nvim;nvim' # VSCode -abbr -a v antigravity +abbr -a v antigravity-ide # Kate abbr -a k kate # WezTerm SSH diff --git a/functions/antigravity-ide.fish b/functions/antigravity-ide.fish new file mode 100644 index 0000000..a94b368 --- /dev/null +++ b/functions/antigravity-ide.fish @@ -0,0 +1,8 @@ +# Copyright (C) 2026 Rootiest +# SPDX-License-Identifier: AGPL-3.0-or-later + +# alias antigravity-ide=antigravity +function antigravity-ide --wraps='antigravity-ide' --description 'alias antigravity-ide=antigravity-ide' + # In fish, we pipe stderr using '2>|' to another command + command antigravity-ide $argv 2>| grep -v "'app' is not in the list of known options" >&2 +end diff --git a/functions/antigravity-resume.fish b/functions/antigravity-resume.fish new file mode 100644 index 0000000..5b33b14 --- /dev/null +++ b/functions/antigravity-resume.fish @@ -0,0 +1,23 @@ +# Copyright (C) 2026 Rootiest +# SPDX-License-Identifier: AGPL-3.0-or-later + +# Execute antigravity-resume +function antigravity-resume --description 'Execute antigravity-resume' + if not type -q agy + echo "Error: The 'agy' command is not installed or not in PATH." >&2 + return 1 + end + if not type -q save_antigravity_session + echo "Error: The companion function 'save_antigravity_session' is missing." >&2 + return 1 + end + + if test -f .antigravity_session + set -l sid (cat .antigravity_session) + # Use --resume (or -r) to jump back in + agy --resume $sid + else + # Fallback to the interactive session browser + agy --resume + end +end diff --git a/functions/antigravity.fish b/functions/antigravity.fish index a7a3a78..4d0e701 100644 --- a/functions/antigravity.fish +++ b/functions/antigravity.fish @@ -1,8 +1,8 @@ # Copyright (C) 2026 Rootiest # SPDX-License-Identifier: AGPL-3.0-or-later -# alias antigravity=antigravity -function antigravity --wraps='antigravity' --description 'alias antigravity=antigravity' +# alias antigravity=agy +function antigravity --wraps='agy' --description 'alias antigravity=agy' # In fish, we pipe stderr using '2>|' to another command - command antigravity $argv 2>| grep -v "'app' is not in the list of known options" >&2 + command agy $argv 2>| grep -v "'app' is not in the list of known options" >&2 end diff --git a/functions/code-resume.fish b/functions/code-resume.fish index ed00f0b..5efbff8 100644 --- a/functions/code-resume.fish +++ b/functions/code-resume.fish @@ -7,10 +7,10 @@ function code-resume --description 'Execute code-resume' set -l sid (cat .claude_session) echo "Resuming Claude session: $sid" claude --resume $sid - else if test -f .gemini_session - set -l sid (cat .gemini_session) - echo "Resuming Gemini session: $sid" - gemini --resume $sid + else if test -f .antigravity_session + set -l sid (cat .antigravity_session) + echo "Resuming antigravity-cli session: $sid" + agy --resume $sid else echo "No local AI session found. Opening picker..." claude --resume # Default to Claude picker diff --git a/functions/save_antigravity_session.fish b/functions/save_antigravity_session.fish new file mode 100755 index 0000000..6344fa6 --- /dev/null +++ b/functions/save_antigravity_session.fish @@ -0,0 +1,32 @@ +#!/usr/bin/env fish + +# Copyright (C) 2026 Rootiest +# SPDX-License-Identifier: AGPL-3.0-or-later + +# 1. Read the JSON from stdin +set -l input (cat) + +# 2. Extract session_id using Python +set -l sid (echo $input | python3 -c "import sys,json; print(json.load(sys.stdin).get('session_id', ''))") +set -l session_file ".antigravity_session" + +if test -n "$sid" + # 3. Save the session ID locally + echo "$sid" >$session_file + + # 4. Smart .gitignore check + # We only attempt this if we are inside a Git repository + if git rev-parse --is-inside-work-tree >/dev/null 2>&1 + # If 'git check-ignore' fails, it means the file is NOT currently ignored + if not git check-ignore -q $session_file + # Append a labeled entry to .gitignore + echo -e "\n# AI Session IDs\n$session_file" >>.gitignore + end + end + + # 5. Update universal variable for cross-terminal access + set -U LAST_ANTIGRAVITY_SESSION "$sid" +end + +# MANDATORY: Every hook must output valid JSON or an empty object +echo '{}' diff --git a/functions/superpowers.fish b/functions/superpowers.fish index d5c69b4..86d9388 100644 --- a/functions/superpowers.fish +++ b/functions/superpowers.fish @@ -1,17 +1,17 @@ # Copyright (C) 2026 Rootiest # SPDX-License-Identifier: AGPL-3.0-or-later -# Toggle superpowers extension for Gemini and Claude -function superpowers --description 'Toggle superpowers extension for Gemini and Claude' - set -l scope_gemini workspace +# Toggle superpowers extension for antigravity-cli and Claude +function superpowers --description 'Toggle superpowers extension for antigravity-cli and Claude' + set -l scope_agy workspace set -l scope_claude project set -l mode "" set -l help_text " Usage: superpowers [on|off] [options] Commands: - on Enable superpowers for Gemini and Claude - off Disable superpowers for Gemini and Claude + on Enable superpowers for antigravity-cli and Claude + off Disable superpowers for antigravity-cli and Claude Options: -g, --global Apply settings to the user/global scope @@ -26,7 +26,7 @@ Options: case off set mode disable case -g --global - set scope_gemini user + set scope_agy user set scope_claude user case -h --help echo $help_text @@ -40,10 +40,10 @@ Options: return 1 end - echo "Setting superpowers to: $mode (Scope: Gemini=$scope_gemini, Claude=$scope_claude)..." + echo "Setting superpowers to: $mode (Scope: antigravity-cli=$scope_agy, Claude=$scope_claude)..." - # Execute Gemini command - gemini extensions $mode superpowers --scope $scope_gemini + # Execute antigravity-cli command + agy extensions $mode superpowers --scope $scope_agy # Execute Claude command claude plugins $mode superpowers --scope $scope_claude diff --git a/requirements.md b/requirements.md index ed9eb40..44b432a 100644 --- a/requirements.md +++ b/requirements.md @@ -87,7 +87,8 @@ Non-standard applications required by this fish shell configuration. | `wakatime` | Developer time tracking | Initialized in `wakatime.fish` | | `bd` / `beads` | Lightweight issue tracker | `bd-pull.fish`, abbreviations | | `lazybeads` | Terminal UI for beads | Abbreviation target | -| `antigravity` | Custom launcher tool | `antigravity.fish`, abbreviations | +| `agy` | antigravity-cli AI assistant | `antigravity.fish` wrapper, abbreviations | +| `antigravity-ide` | antigravity-ide editor | `antigravity-ide.fish` wrapper, abbreviations | ## Container Tools