fix(ai): migrate gemini-cli → antigravity-cli (agy) and antigravity → antigravity-ide #18
+4
-4
@@ -29,13 +29,13 @@ OLD/
|
|||||||
*_old
|
*_old
|
||||||
|
|
||||||
# AI Session IDs
|
# AI Session IDs
|
||||||
.claude_session
|
.claud*
|
||||||
.gemini_session
|
.gemin*
|
||||||
.remember/
|
.antigrav*
|
||||||
|
.remember
|
||||||
|
|
||||||
# Auto-managed by fish; contains machine-local state and universal vars
|
# Auto-managed by fish; contains machine-local state and universal vars
|
||||||
fish_variables
|
fish_variables
|
||||||
.claude
|
|
||||||
|
|
||||||
# Personal testing/temporary files
|
# Personal testing/temporary files
|
||||||
[Tt][Mm][Pp]/
|
[Tt][Mm][Pp]/
|
||||||
|
|||||||
@@ -329,9 +329,9 @@ Install method priority: **git+cargo source build** (fish) → **cargo** (other
|
|||||||
| Function | Description |
|
| Function | Description |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `claude-resume` | Resume Claude Code session from `.claude_session` in CWD |
|
| `claude-resume` | Resume Claude Code session from `.claude_session` in CWD |
|
||||||
| `gemini-resume` | Resume Gemini CLI session from `.gemini_session` in CWD |
|
| `antigravity-resume` | Resume antigravity-cli session from `.antigravity_session` in CWD |
|
||||||
| `code-resume` | Smart resume — tries Claude then Gemini, falls back to picker |
|
| `code-resume` | Smart resume — tries Claude then antigravity-cli, falls back to picker |
|
||||||
| `superpowers [on\|off]` | Enable/disable the Superpowers extension for Claude and Gemini |
|
| `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-docs` | Ask Claude to sync `README.md` with recent session changes |
|
||||||
| `claude-pr` | Create a branch, commit, push, and open a PR via Claude |
|
| `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 |
|
| `upgrade` | System upgrade via paru |
|
||||||
| `zellij` | Zellij with `--theme catppuccin-mocha` |
|
| `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`) |
|
| `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` |
|
| `n`, `nv` | `nvim` |
|
||||||
| `e` | `edit` |
|
| `e` | `edit` |
|
||||||
| `se` | `sudoedit` |
|
| `se` | `sudoedit` |
|
||||||
| `v` | `antigravity` (VSCode-equivalent) |
|
| `v` | `antigravity-ide` (VSCode-equivalent) |
|
||||||
| `k` | `kate` |
|
| `k` | `kate` |
|
||||||
|
|
||||||
### Listing
|
### Listing
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ abbr -a neovim nvim
|
|||||||
abbr -a cdnv 'cd ~/.config/nvim # Neovim Config'
|
abbr -a cdnv 'cd ~/.config/nvim # Neovim Config'
|
||||||
abbr -a cdnvn 'cd ~/.config/nvim;nvim'
|
abbr -a cdnvn 'cd ~/.config/nvim;nvim'
|
||||||
# VSCode
|
# VSCode
|
||||||
abbr -a v antigravity
|
abbr -a v antigravity-ide
|
||||||
# Kate
|
# Kate
|
||||||
abbr -a k kate
|
abbr -a k kate
|
||||||
# WezTerm SSH
|
# WezTerm SSH
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
# Copyright (C) 2026 Rootiest
|
# Copyright (C) 2026 Rootiest
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
# alias antigravity=antigravity
|
# alias antigravity=agy
|
||||||
function antigravity --wraps='antigravity' --description 'alias antigravity=antigravity'
|
function antigravity --wraps='agy' --description 'alias antigravity=agy'
|
||||||
# In fish, we pipe stderr using '2>|' to another command
|
# 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
|
end
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ function code-resume --description 'Execute code-resume'
|
|||||||
set -l sid (cat .claude_session)
|
set -l sid (cat .claude_session)
|
||||||
echo "Resuming Claude session: $sid"
|
echo "Resuming Claude session: $sid"
|
||||||
claude --resume $sid
|
claude --resume $sid
|
||||||
else if test -f .gemini_session
|
else if test -f .antigravity_session
|
||||||
set -l sid (cat .gemini_session)
|
set -l sid (cat .antigravity_session)
|
||||||
echo "Resuming Gemini session: $sid"
|
echo "Resuming antigravity-cli session: $sid"
|
||||||
gemini --resume $sid
|
agy --resume $sid
|
||||||
else
|
else
|
||||||
echo "No local AI session found. Opening picker..."
|
echo "No local AI session found. Opening picker..."
|
||||||
claude --resume # Default to Claude picker
|
claude --resume # Default to Claude picker
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
# Copyright (C) 2026 Rootiest
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
|
|
||||||
# Execute gemini-resume
|
|
||||||
function gemini-resume --description 'Execute gemini-resume'
|
|
||||||
if not type -q gemini-cli
|
|
||||||
echo "Error: The 'gemini-cli' command is not installed or not in PATH." >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
if not type -q save_gemini_session
|
|
||||||
echo "Error: The companion function 'save_gemini_session' is missing." >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
if test -f .gemini_session
|
|
||||||
set -l sid (cat .gemini_session)
|
|
||||||
# Use --resume (or -r) to jump back in
|
|
||||||
gemini --resume $sid
|
|
||||||
else
|
|
||||||
# Fallback to the interactive session browser
|
|
||||||
gemini --resume
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -8,7 +8,7 @@ set -l input (cat)
|
|||||||
|
|
||||||
# 2. Extract session_id using Python
|
# 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 sid (echo $input | python3 -c "import sys,json; print(json.load(sys.stdin).get('session_id', ''))")
|
||||||
set -l session_file ".gemini_session"
|
set -l session_file ".antigravity_session"
|
||||||
|
|
||||||
if test -n "$sid"
|
if test -n "$sid"
|
||||||
# 3. Save the session ID locally
|
# 3. Save the session ID locally
|
||||||
@@ -25,7 +25,7 @@ if test -n "$sid"
|
|||||||
end
|
end
|
||||||
|
|
||||||
# 5. Update universal variable for cross-terminal access
|
# 5. Update universal variable for cross-terminal access
|
||||||
set -U LAST_GEMINI_SESSION "$sid"
|
set -U LAST_ANTIGRAVITY_SESSION "$sid"
|
||||||
end
|
end
|
||||||
|
|
||||||
# MANDATORY: Every hook must output valid JSON or an empty object
|
# MANDATORY: Every hook must output valid JSON or an empty object
|
||||||
@@ -0,0 +1,188 @@
|
|||||||
|
# Copyright (C) 2026 Rootiest
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
function scrub --description 'Recursively purge OS, editor, and compiler garbage files/folders from the current directory'
|
||||||
|
# Define the base garbage patterns (matches files and directory names)
|
||||||
|
set -l garbage_patterns \
|
||||||
|
'^\.DS_Store$' \
|
||||||
|
'^\._.*' \
|
||||||
|
'^Thumbs\.db$' \
|
||||||
|
'^\.directory$' \
|
||||||
|
'.*\.swp$' \
|
||||||
|
'.*\.swo$' \
|
||||||
|
'^\.netrwhist$' \
|
||||||
|
'^\.pytest_cache$' \
|
||||||
|
'^__pycache__$' \
|
||||||
|
'.*-debug\.log$' \
|
||||||
|
'^\.turbo$' \
|
||||||
|
'.*\.gcode\.(tmp|bak)$' \
|
||||||
|
'^\.bambu_bak$' \
|
||||||
|
'^core\.[0-9]+$'
|
||||||
|
|
||||||
|
# Define deep-cleaning aggressive patterns
|
||||||
|
set -l aggressive_patterns \
|
||||||
|
'.*\.class$' \
|
||||||
|
'^\.git-crypt$' \
|
||||||
|
'.*\.log$' \
|
||||||
|
'.*\.log\.[0-9]+$' \
|
||||||
|
'^node_modules$' \
|
||||||
|
'^\.vagrant$' \
|
||||||
|
'^\.clwb$' \
|
||||||
|
'^\.idea$' \
|
||||||
|
'^Thumbs\.db:encryptable$'
|
||||||
|
'^\.gemini.*' \
|
||||||
|
'^\.claude.*' \
|
||||||
|
'^\.antigravity.*' \
|
||||||
|
'^\.remember.*'
|
||||||
|
|
||||||
|
# Helper function for help menu text
|
||||||
|
function _scrub_help
|
||||||
|
echo (set_color --bold cyan)"Usage:"(set_color normal) "scrub [options]"
|
||||||
|
echo
|
||||||
|
echo (set_color --bold cyan)"Options:"(set_color normal)
|
||||||
|
echo " -a, --aggressive Purge advanced development artifacts, logs, and heavyweight caches"
|
||||||
|
echo " -d, --dry-run Show files/folders that would be targeted without removing them"
|
||||||
|
echo " -h, --help Display this help menu"
|
||||||
|
echo
|
||||||
|
echo (set_color --bold cyan)"Standard Targets:"(set_color normal)
|
||||||
|
echo " • OS Metadata: .DS_Store, ._* (AppleDouble), Thumbs.db, .directory (KDE)"
|
||||||
|
echo " • Editors: *.swp, *.swo (Vim/Nvim), .netrwhist"
|
||||||
|
echo " • Dev Caches: __pycache__, .pytest_cache, .turbo, *-debug.log"
|
||||||
|
echo " • Compiles: core.[0-9]+ (Linux core dumps)"
|
||||||
|
echo " • Slicers: *.gcode.tmp, *.gcode.bak, .bambu_bak"
|
||||||
|
echo
|
||||||
|
echo (set_color --bold yellow)"Aggressive Targets:"(set_color normal)
|
||||||
|
echo " • Heavy Caches: node_modules, .vagrant"
|
||||||
|
echo " • Extra Cruft: *.class, *.log, *.log.[0-9]+, Thumbs.db:encryptable"
|
||||||
|
echo " • IDE/Git Junk: .idea, .clwb, .git-crypt"
|
||||||
|
echo " • AI/LLM Local: .gemini*, .claude*, .antigravity*, .remember*"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Parse arguments safely
|
||||||
|
set -l dry_run 0
|
||||||
|
set -l aggressive 0
|
||||||
|
|
||||||
|
for arg in $argv
|
||||||
|
switch $arg
|
||||||
|
case -h --help
|
||||||
|
_scrub_help
|
||||||
|
return 0
|
||||||
|
case -d --dry-run
|
||||||
|
set dry_run 1
|
||||||
|
case -a --aggressive
|
||||||
|
set aggressive 1
|
||||||
|
case '*'
|
||||||
|
echo (set_color red)"Error: Unknown argument '$arg'"(set_color normal)
|
||||||
|
_scrub_help
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# If aggressive mode is flagged, merge the array targets seamlessly
|
||||||
|
if test $aggressive -eq 1
|
||||||
|
set garbage_patterns $garbage_patterns $aggressive_patterns
|
||||||
|
end
|
||||||
|
|
||||||
|
# Core dependency verification
|
||||||
|
if not command -s fd >/dev/null
|
||||||
|
echo (set_color --bold red)"Error:"(set_color normal) "Required tool "(set_color --underline)"fd"(set_color normal)" is missing."
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
# Determine deletion method strategy hierarchy
|
||||||
|
set -l delete_mode ""
|
||||||
|
|
||||||
|
if functions -q rm
|
||||||
|
set delete_mode custom_rm
|
||||||
|
else if command -s trash >/dev/null
|
||||||
|
set delete_mode trashy
|
||||||
|
else if command -s trash-put >/dev/null
|
||||||
|
set delete_mode trash_cli
|
||||||
|
else
|
||||||
|
set delete_mode fallback_rm
|
||||||
|
end
|
||||||
|
|
||||||
|
# --- Dry Run Mode ---
|
||||||
|
if test $dry_run -eq 1
|
||||||
|
if test $aggressive -eq 1
|
||||||
|
echo (set_color --bold red)"⚡ Aggressive Dry Run Mode: Scanning deep tree..."(set_color normal)
|
||||||
|
else
|
||||||
|
echo (set_color --bold yellow)"⚡ Dry Run Mode: Scanning standard tree..."(set_color normal)
|
||||||
|
end
|
||||||
|
|
||||||
|
switch $delete_mode
|
||||||
|
case custom_rm
|
||||||
|
echo (set_color --dim normal)"[Strategy: Custom rm function]"(set_color normal)
|
||||||
|
case trashy
|
||||||
|
echo (set_color --dim normal)"[Strategy: trashy (trash put)]"(set_color normal)
|
||||||
|
case trash_cli
|
||||||
|
echo (set_color --dim normal)"[Strategy: trash-cli (trash-put)]"(set_color normal)
|
||||||
|
case fallback_rm
|
||||||
|
echo (set_color --dim normal)"[Strategy: System rm -rf (fallback)]"(set_color normal)
|
||||||
|
end
|
||||||
|
echo
|
||||||
|
|
||||||
|
set -l found_any 0
|
||||||
|
for pattern in $garbage_patterns
|
||||||
|
set -l matches (fd --hidden --no-ignore $pattern)
|
||||||
|
if count $matches >/dev/null
|
||||||
|
set found_any 1
|
||||||
|
for item in $matches
|
||||||
|
echo (set_color red)" 🗙 $item"(set_color normal)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if test $found_any -eq 0
|
||||||
|
echo (set_color green)"✨ No garbage targets found. Everything looks clean."(set_color normal)
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
# --- Purge Mode ---
|
||||||
|
if test $aggressive -eq 1
|
||||||
|
echo (set_color --bold red)"🔥 Initiating AGGRESSIVE sweep..."(set_color normal)
|
||||||
|
else
|
||||||
|
echo (set_color --bold cyan)"🧹 Initiating sweep..."(set_color normal)
|
||||||
|
end
|
||||||
|
set -l count 0
|
||||||
|
|
||||||
|
for pattern in $garbage_patterns
|
||||||
|
set -l items (fd --hidden --no-ignore $pattern)
|
||||||
|
|
||||||
|
if count $items >/dev/null
|
||||||
|
for item in $items
|
||||||
|
# Execute based on the resolved deletion strategy
|
||||||
|
switch $delete_mode
|
||||||
|
case custom_rm
|
||||||
|
rm $item
|
||||||
|
case trashy
|
||||||
|
trash put $item
|
||||||
|
case trash_cli
|
||||||
|
trash-put $item
|
||||||
|
case fallback_rm
|
||||||
|
command rm -rf $item
|
||||||
|
end
|
||||||
|
|
||||||
|
echo (set_color --dim white)" [purged] $item"(set_color normal)
|
||||||
|
set count (math $count + 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
echo
|
||||||
|
if test $count -gt 0
|
||||||
|
switch $delete_mode
|
||||||
|
case custom_rm
|
||||||
|
echo (set_color --bold green)"✔ Clean Sweep:"(set_color normal) "Safely processed" (set_color --bold yellow)$count(set_color normal) "target(s) using smart-rm."
|
||||||
|
case trashy
|
||||||
|
echo (set_color --bold green)"✔ Clean Sweep:"(set_color normal) "Safely moved" (set_color --bold yellow)$count(set_color normal) "target(s) to the system trash via trashy."
|
||||||
|
case trash_cli
|
||||||
|
echo (set_color --bold green)"✔ Clean Sweep:"(set_color normal) "Safely moved" (set_color --bold yellow)$count(set_color normal) "target(s) to the system trash via trash-put."
|
||||||
|
case fallback_rm
|
||||||
|
echo (set_color --bold red)"⚠ Hard Purge:"(set_color normal) "Permanently deleted" (set_color --bold yellow)$count(set_color normal) "target(s) via native rm -rf."
|
||||||
|
end
|
||||||
|
else
|
||||||
|
echo (set_color --bold green)"✨ Clean Sweep:"(set_color normal) "No garbage targets found. Environment is pristine."
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
# Copyright (C) 2026 Rootiest
|
# Copyright (C) 2026 Rootiest
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
# Toggle superpowers extension for Gemini and Claude
|
# Toggle superpowers extension for antigravity-cli and Claude
|
||||||
function superpowers --description 'Toggle superpowers extension for Gemini and Claude'
|
function superpowers --description 'Toggle superpowers extension for antigravity-cli and Claude'
|
||||||
set -l scope_gemini workspace
|
set -l scope_agy workspace
|
||||||
set -l scope_claude project
|
set -l scope_claude project
|
||||||
set -l mode ""
|
set -l mode ""
|
||||||
set -l help_text "
|
set -l help_text "
|
||||||
Usage: superpowers [on|off] [options]
|
Usage: superpowers [on|off] [options]
|
||||||
|
|
||||||
Commands:
|
Commands:
|
||||||
on Enable superpowers for Gemini and Claude
|
on Enable superpowers for antigravity-cli and Claude
|
||||||
off Disable superpowers for Gemini and Claude
|
off Disable superpowers for antigravity-cli and Claude
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-g, --global Apply settings to the user/global scope
|
-g, --global Apply settings to the user/global scope
|
||||||
@@ -26,7 +26,7 @@ Options:
|
|||||||
case off
|
case off
|
||||||
set mode disable
|
set mode disable
|
||||||
case -g --global
|
case -g --global
|
||||||
set scope_gemini user
|
set scope_agy user
|
||||||
set scope_claude user
|
set scope_claude user
|
||||||
case -h --help
|
case -h --help
|
||||||
echo $help_text
|
echo $help_text
|
||||||
@@ -40,10 +40,10 @@ Options:
|
|||||||
return 1
|
return 1
|
||||||
end
|
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
|
# Execute antigravity-cli command
|
||||||
gemini extensions $mode superpowers --scope $scope_gemini
|
agy extensions $mode superpowers --scope $scope_agy
|
||||||
|
|
||||||
# Execute Claude command
|
# Execute Claude command
|
||||||
claude plugins $mode superpowers --scope $scope_claude
|
claude plugins $mode superpowers --scope $scope_claude
|
||||||
|
|||||||
+2
-1
@@ -87,7 +87,8 @@ Non-standard applications required by this fish shell configuration.
|
|||||||
| `wakatime` | Developer time tracking | Initialized in `wakatime.fish` |
|
| `wakatime` | Developer time tracking | Initialized in `wakatime.fish` |
|
||||||
| `bd` / `beads` | Lightweight issue tracker | `bd-pull.fish`, abbreviations |
|
| `bd` / `beads` | Lightweight issue tracker | `bd-pull.fish`, abbreviations |
|
||||||
| `lazybeads` | Terminal UI for beads | Abbreviation target |
|
| `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
|
## Container Tools
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user