pi-git-status-line

Shareable Pi package that extends the status line with git branch, uncommitted files, and ahead/behind counts.

Package details

extension

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

$ pi install npm:pi-git-status-line
Package
pi-git-status-line
Version
0.1.2
Published
Apr 12, 2026
Downloads
414/mo · 12/wk
Author
tsprotte
License
MIT
Types
extension
Size
11.5 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ]
}

Security note

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

README

pi-git-status-line

A standalone Pi package that extends Pi's status line below the input with git information for the current working tree:

  • current branch name
  • amount of uncommitted files
  • commits to be pushed ()
  • commits to be pulled ()

It keeps Pi's existing footer/status line and adds a git summary via ctx.ui.setStatus(...).

Preview

Pi status line with git branch, uncommitted changes, and push/pull counts

Install

From npm

pi install npm:pi-git-status-line

From git

pi install git:github.com/qualiti/pi-git-status-line

From a local checkout

pi install /absolute/path/to/pi-git-status-line

Usage

After installation, reload Pi or start a new session.

When you are inside a git repository, the footer will show a summary like:

 main · 2 uncommitted · ↑1 ↓0

If the repo is clean:

 main · ✓ clean · ↑0 ↓0

If the branch has no upstream yet:

 feature/new-branch · 1 uncommitted · no upstream

Notes

  • works only when the current working directory is inside a git repository
  • refreshes on session start, after turns, and after bash, write, or edit tool executions
  • if Pi is not in a git repo, the extension hides its status text

Requirements

  • git must be available on PATH

Package structure

This package follows Pi package guidelines:

  • it declares a pi manifest in package.json
  • it exposes the extension through ./extensions
  • it ships TypeScript directly so Pi can load it through jiti

Local development

Run the unit tests:

npm test

Run a local package install into Pi:

pi install /absolute/path/to/pi-git-status-line

Or load the extension file directly for quick testing:

pi -e /absolute/path/to/pi-git-status-line/extensions/git-status-line.ts

Files

  • package.json — Pi package manifest for npm and git installs
  • extensions/git-status-line.ts — the extension entry point
  • tests/git-status-line.test.ts — helper tests