Skip to content

weby-homelab/antigravity-cli-statusline

Repository files navigation

🚀 Antigravity CLI Statusline (Max Edition)

An advanced, responsive, and high-information statusline plugin for the Antigravity CLI (Community Fork) (agy). It features multi-layout adapting to your terminal width, real-time Git status tracking, token counting, active model quotas, and sandbox badges.


🎨 Layout Showcase

👑 Ultra Layout (Full Telemetry)

The ultimate high-information layout displaying all telemetry fields: system metrics, Git status, active subagents, background tasks, model quotas, and power/battery state in a single visual dashboard. Ultra Layout

🖥️ Wide Layout (Terminal width $\ge$ 180 chars)

Provides a rich, single-row layout displaying all developer telemetry and active quotas side-by-side. Wide Layout

📱 Medium Layout (Terminal width $\ge$ 90 chars)

Wraps status into a clean two-line boxed block to avoid command output line wrap. Medium Layout

📟 Small Layout (Terminal width < 90 chars)

A minimalist layout displaying only the agent status, current model, and context window bar. Compact Layout


📖 Telemetry Legend

You can inspect the legend of all components and icons directly from your terminal by running:

  • Linux/macOS: ~/.antigravity/statusline.sh --legend (or -l / legend)
  • Windows (PowerShell): powershell -NoProfile -ExecutionPolicy Bypass -File $HOME\.antigravity\statusline.ps1 -Legend (or --legend)

Important

Nerd Font Glyphs Rendering: The icons in the "Nerd Font Icon" column utilize characters from Nerd Fonts (V3+). If they appear as boxes, squares, or question marks in your web browser or on GitHub, this is expected since web browsers do not load Nerd Fonts by default. In your terminal, they will render correctly if you have a Nerd Font installed and active. The Unicode codepoints (e.g. U+F192) are provided for reference.

Component Nerd Font Icon (Codepoint) Classic Icon Description
State: READY  (U+F192) READY READY Agent is idle, waiting for commands.
State: THINKING 󰟷 (U+F07F7) THINKING THINKING Agent is currently thinking/processing request.
State: WORKING  (U+F423) WORKING WORKING Agent is performing background tasks.
State: TOOL  (U+F425) TOOL 🔧 TOOL Agent is currently executing a tool.
State: UNKNOWN  (U+F252) STATE STATE Agent state is unknown or initializing.
VCS Branch  (U+F418) branch branch Active Git branch (renders Red + * if dirty).
Active Model  (U+F400) model model Active LLM model name or ID.
Sandbox (Network) 󰒙 (U+F0499) ON (net) ON (net) Execution sandbox active with full network access.
Sandbox (Restricted) 󰴴 (U+F0D34) ON (no-net) ON (no-net) Execution sandbox active with disabled network.
Sandbox (Off) 󰦜 (U+F099C) OFF sandbox off Sandbox is disabled, commands run on host.
Context Window Bar 󱍏 (U+F134F) █░░... ctx █··... 20-segment visual representation of context usage.
Artifacts Counter  (U+F0F6) count artifacts count Number of currently active workspace artifacts.
Subagents Counter 󱙺 (U+F167A) count subagents count Number of spawned active subagent processes.
Background Tasks  (U+F0AE) count tasks count Number of running background asynchronous tasks.
Current Directory  (U+EA83) path path Shortened current working directory path.
Conversation ID 󰍪 (U+F036A) id id 8-character prefix of the current session ID.
Token Sum  (U+E26B) tokens tokens Total input + output tokens processed in session.
Quota Reset ⌛️ (U+231B) time time Remaining time until model API quota limits reset.
Power (Mains/AC) 󰚥 (U+F06A5) AC AC Connected to AC power.
Power (Battery) 🔋 (U+1F50B) charge% BAT:charge% Running on battery or UPS (shows charge percentage).

🎨 Compatibility Mode (Classic Icons)

If your terminal does not support Nerd Fonts (e.g., ChromeOS Terminal, Emacs, or standard TTYs), you can run the statusline in Classic Icon Mode. This mode replaces advanced glyphs with standard Unicode symbols (, , , 🔧, etc.) and plain text labels to ensure clean rendering.

To enable it, simply append --classic (or --no-nerdfont / --compatibility) to the command parameter in your settings.json:

🐧 macOS / Linux (~/.gemini/antigravity-cli/settings.json)

{
  "statusLine": {
    "type": "",
    "command": "/home/user/.antigravity/statusline.sh --classic",
    "enabled": true
  }
}

🪟 Windows (%USERPROFILE%\.gemini\antigravity-cli\settings.json)

{
  "statusLine": {
    "type": "",
    "command": "powershell -NoProfile -ExecutionPolicy Bypass -File \"C:/Users/user/.antigravity/statusline.ps1\" --classic",
    "enabled": true
  }
}

✨ Features

  • Responsive Design: Automatically switches layouts (Wide, Medium, Small) depending on terminal width (terminal_width) to avoid messy line wrapping.
  • Smart Git Tracking: Queries the Git binary (git -C) directly with a 1-second timeout safeguard to get real-time branch status and dirty states, bypassing cached session details and preventing hangs on slow/unreachable network mounts.
  • Dynamic Quota Swapping: Automatically detects the current LLM model (Gemini vs. 3rd-party models) and switches to display the correct active quotas (gemini-5h & gemini-weekly or 3p-5h & 3p-weekly) along with countdowns to quota reset.
  • Context & Token Metres: Displays a visual 20-segment context window bar with percentage, and displays total input/output tokens in a human-readable (K, M) format.
  • Current Turn Token Usage: Tracks the input/output tokens processed during the last turn (e.g. turn: +40.5K/318).
  • Sandbox Network Badges: Displays whether the execution sandbox is ON (net), ON (no-net), or OFF.
  • Background Actions Tracker: Live metrics showing active subagents count (󱙺) and running background tasks ().
  • CLI & Session Metadata: Displays the current agy CLI version, subscription tier (e.g. Google AI Pro), and logged-in account email.
  • Resilient Power & Host Tracking: Live display of the host machine's name, Tailscale connection IP, and mains/battery status via dynamic hardware supply scanning (supporting any AC/BAT device combination) to track blackout states.

📥 Installation

Note

This statusline is already configured and enabled by default when you install the community-hardened Antigravity CLI. Use this manual installation only if you are using the upstream CLI version or want to reinstall it separately.

Warning

Do NOT run the installation commands with sudo. The statusline installs locally in your home directory (~/.antigravity and ~/.gemini/). Running with sudo will cause file permission issues for your user account.

Choose the installation command for your operating system:

🐧 macOS / Linux

One-liner (curl):

curl -fsSL https://raw.githubusercontent.com/weby-homelab/antigravity-cli-statusline/main/install.sh | bash

One-liner (wget):

wget -qO- https://raw.githubusercontent.com/weby-homelab/antigravity-cli-statusline/main/install.sh | bash

Manual Installation:

  1. Clone this repository:
    git clone https://github.com/weby-homelab/antigravity-cli-statusline.git
  2. Navigate to the directory, make the installer executable, and run it:
    cd antigravity-cli-statusline
    chmod +x install.sh
    ./install.sh

🪟 Windows (PowerShell)

One-liner (PowerShell WebRequest):

powershell -NoProfile -ExecutionPolicy Bypass -Command "iex (irm https://raw.githubusercontent.com/weby-homelab/antigravity-cli-statusline/main/install.ps1)"

One-liner (curl on Windows): If you have curl.exe installed on Windows, you can download and run the installer in one line:

curl -fsSL https://raw.githubusercontent.com/weby-homelab/antigravity-cli-statusline/main/install.ps1 | powershell -NoProfile -ExecutionPolicy Bypass -Command -

Manual Installation:

  1. Clone this repository:
    git clone https://github.com/weby-homelab/antigravity-cli-statusline.git
  2. Navigate to the directory and execute:
    cd antigravity-cli-statusline
    Powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1

🗑️ Uninstallation

The installation script places a dedicated uninstaller script in your permanent ~/.antigravity folder. You can run it directly from anywhere without needing the original git clone directory.

🐧 macOS / Linux

~/.antigravity/uninstall.sh

🪟 Windows (PowerShell)

Powershell -NoProfile -ExecutionPolicy Bypass -File $HOME\.antigravity\uninstall.ps1

⚙️ Configuration & File Structure

Here is the file structure installed by the automated setup scripts on each platform, along with their related configuration paths.

🐧 macOS / Linux File Structure

~ (User Home)
├── .antigravity/                   # Installation folder
│   ├── statusline.sh               # Statusline logic script
│   └── uninstall.sh                # Uninstallation helper script
└── .gemini/
    └── antigravity-cli/
        └── settings.json           # Antigravity CLI configuration

Your ~/.gemini/antigravity-cli/settings.json will be configured as follows:

{
  "statusLine": {
    "type": "",
    "command": "/home/user/.antigravity/statusline.sh",
    "enabled": true
  }
}

🪟 Windows File Structure

C:\Users\<username> (User Profile)
├── .antigravity\                   # Installation folder
│   ├── statusline.ps1              # Statusline PowerShell script
│   └── uninstall.ps1               # Uninstallation helper script
└── .gemini\
    └── antigravity-cli\
        └── settings.json           # Antigravity CLI configuration

Your %USERPROFILE%\.gemini\antigravity-cli\settings.json will be configured as follows:

{
  "statusLine": {
    "type": "",
    "command": "powershell -NoProfile -ExecutionPolicy Bypass -File \"C:/Users/user/.antigravity/statusline.ps1\"",
    "enabled": true
  }
}

📝 Important Notes & Release History

🚀 Release v0.1.4 (July 8, 2026)

  • Git Timeout Resilience: Added a 1-second timeout wrapper around all Git calls to prevent terminal statusline hangs on slow, unreachable network mounts (NFS, Samba) or extremely large repositories.
  • Universal Power Supply Scanning: Replaced hardcoded battery/AC adapter paths with dynamic wildcard scanning to correctly identify any battery (BAT0, BAT1, BATT) and AC adapter (AC, ACAD, ADP1) combination on laptops and UPS systems.

🚀 Release v0.1.3 (June 16, 2026)

  • One-liner Web Installation: Added full support for direct internet-based installation using curl or wget (without cloning the repository locally) for Linux, macOS, and Windows.
  • Sudo Safety Check: Added an active check to block execution when run with sudo or as root via sudo on Linux/macOS to protect local user home directory permissions.

🚀 Release v0.1.2 (June 15, 2026)

  • Classic Compatibility Mode: Added support for terminals without Nerd Fonts (e.g. ChromeOS Terminal, Emacs, legacy TTYs). You can activate it by adding --classic, --no-nerdfont, or --compatibility arguments to the command field in your settings.json.
  • Robust Quota Detection & Auto-Hide: Fixed issues where model quotas failed to show or displayed empty progress bars when using custom/third-party model names. The script now dynamically selects the first active quota and hides the quota block completely if no quota limits are available (-1 or null).
  • PowerShell Compatibility: Ported all classic-mode and quota detection enhancements to Windows (statusline.ps1).

Built in Ukraine under air raid sirens & blackouts ⚡
© 2026 Weby Homelab


About

An advanced, responsive, and high-information statusline plugin for Antigravity CLI

Topics

Resources

Stars

20 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors