@taterdoge/pi-status
v1.2.0
Published
Configurable status bar with border decorations around the Editor for Pi.
Maintainers
Readme
@taterdoge/pi-status
Configurable Pi extension that wraps the Editor with a live status bar using border decorations.

Features
- Status bar rendered as border decorations around the Editor
- Four configurable zones: top-left, top-right, bottom-left, bottom-right
- Real-time segments for activity state, cwd, turn, active tool, git, runtime, model, thinking, TPS, tokens, context, and cost
- Configurable components, zones, separator, and context bar presets
- Interactive
/pi-statusmenu for toggling settings - Settings stored in Pi's extension config directory, with optional project override
Install
pi install npm:@taterdoge/pi-statusOr try without installing:
pi -e npm:@taterdoge/pi-statusCommands
/pi-status open interactive menu
/pi-status components configure components and zones
/pi-status separator change the separator
/pi-status context-style choose a context bar preset
/pi-status reset write default config to config.jsonAvailable components
| Component ID | Description | Default Zone |
| --- | --- | --- |
| status | Activity state: idle, running, tool, error, or stale | top-left |
| cwd | Working directory basename | top-left |
| turn | Current turn number | top-left |
| current_tool | Currently executing tool name | top-left |
| git | Git branch plus dirty/ahead-behind summary | top-left |
| runtime | Detected project runtime and version | top-left |
| model | Current provider + model | bottom-left |
| thinking | Thinking level | bottom-left |
| tps | Tokens per second | bottom-left |
| tokens | Session input/output token totals | bottom-right |
| context | Context window usage | bottom-right |
| cost | Session cost from provider-reported usage | top-right |
Configuration
Settings are stored in the Pi extension config directory, not merged from Pi settings.json:
~/.pi/agent/extensions/pi-status/config.jsonfor global settings.pi/pi-status.jsonfor project-local settings
Project settings take precedence over global settings when .pi/pi-status.json exists.
contextBarStyle supports these presets:
blocks:◼◼◼◻◻◻◻◻◻◻lines:━━━───────
Default config:
{
"separator": " · ",
"contextBarStyle": "blocks",
"components": [
{ "id": "status", "enabled": true, "zone": "top-left" },
{ "id": "cwd", "enabled": true, "zone": "top-left" },
{ "id": "turn", "enabled": true, "zone": "top-left" },
{ "id": "current_tool", "enabled": true, "zone": "top-left" },
{ "id": "git", "enabled": true, "zone": "top-left" },
{ "id": "runtime", "enabled": true, "zone": "top-left" },
{ "id": "cost", "enabled": true, "zone": "top-right" },
{ "id": "model", "enabled": true, "zone": "bottom-left" },
{ "id": "thinking", "enabled": true, "zone": "bottom-left" },
{ "id": "tps", "enabled": true, "zone": "bottom-left" },
{ "id": "tokens", "enabled": true, "zone": "bottom-right" },
{ "id": "context", "enabled": true, "zone": "bottom-right" }
]
}Environment
Disable the extension by default:
PI_STATUS_DISABLED=1 piAccepted truthy values are 1, true, yes, and on.
Local Development
Run Pi with this local package:
pi -e ./packages/pi-statusOr install it from the local path:
pi install ./packages/pi-statusUninstall
pi remove npm:@taterdoge/pi-statusCredits
Status-bar content and layout were adapted from a custom implementation, then moved to Pi's border decoration system for this package.
