@gowthamgts/pi-git-status

Git branch, worktree, and file status alongside token usage in pi's footer.

Packages

Package details

extension

Install @gowthamgts/pi-git-status from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@gowthamgts/pi-git-status
Package
@gowthamgts/pi-git-status
Version
1.0.1
Published
Aug 27, 2026
Downloads
185/mo · 171/wk
Author
gowthamgts
License
MIT
Types
extension
Size
15.8 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-git-status

A pi extension that displays Git status on the same footer line as token usage.

It shows:

  • the current branch, or abbreviated commit when HEAD is detached
  • the linked worktree name, when running outside the main worktree
  • upstream ahead/behind counts
  • total changed files
  • staged, modified, untracked, and conflicted file counts

Examples:

git main • clean
git feature/auth ↑2 ↓1 @ pi-stuff-auth • 5 changed • 2 staged • 2 modified • 1 untracked
git main • Δ5 +2 ~2 ?1

The display refreshes every two seconds and immediately after pi tool executions and turns. In a linked Git worktree, the worktree directory name appears after @; the main worktree keeps the shorter branch-only display. It stays hidden outside Git repositories and uses a compact layout when the terminal is narrow.

The custom footer preserves token totals, cache reads and writes, the latest cache-hit rate, cost/subscription status, context usage, model, thinking level, and extension statuses. That means it can display the codex-usage quota and codex-fast-mode indicator alongside Git status.

The extension uses pi's public custom-footer API—no pi source modification is required. Another extension that calls setFooter() can still replace it, because pi supports one custom footer at a time.

Install

From npm:

pi install npm:@gowthamgts/pi-git-status

From this repository:

pi install ./extensions/git-status

Or try it without installing:

pi -e ./extensions/git-status/index.ts

Development

From this extension's directory:

pnpm test
pnpm run check:load