@narumitw/pi-statusline
v0.1.26
Published
Pi extension that replaces the footer with an information-rich statusline.
Maintainers
Readme
✨ pi-statusline — Rich Statusline for the Pi Coding Agent
@narumitw/pi-statusline is a native Pi coding agent extension that replaces Pi's footer with a beautiful, information-rich terminal statusline.
Use it to monitor model selection, thinking level, git branch, working directory, active tools, context usage, token totals, estimated cost, time, and statuses from other Pi extensions.
✨ Features
- Replaces the default Pi footer with a compact rich statusline.
- Shows model, thinking level, git branch, project directory, active tool, context usage, tokens, cost, and clock.
- Displays compact statuses published through Pi's generic extension status API.
- Preserves extension-provided status icons when the status text starts with one.
- Warns when the same extension package is installed from multiple sources.
- Uses emoji-labeled segments for readability.
- Adapts to terminal width and truncates safely.
- Requires no configuration.
📦 Install
pi install npm:@narumitw/pi-statuslineTry without installing permanently:
pi -e npm:@narumitw/pi-statuslineTry this package locally from the repository root:
pi -e ./extensions/pi-statusline👀 What it shows
The default statusline includes:
πbrand marker.- 🤖 current model.
- 🧠 thinking level.
- 🌿 git branch.
- 📁 current project directory.
- 🔧 active or last tool.
- 📊 context usage percentage.
- 🔢 token totals.
- 💰 estimated cost.
- 🕒 clock.
Statuses from other extensions appear on their own compact line below the main statusline and are separated with .
pi-statusline is extension-agnostic: it consumes Pi's generic extension status API and does not import or depend on status-producing extensions. If an extension wants a custom icon, it should include that icon at the start of its status text, for example ctx.ui.setStatus("goal", "🎯 active"). Statuses without a leading icon use the generic 🔌 icon.
Examples:
🔌 activefor a plain status such asgoal: active.🎯 activewhen the producing extension sets🎯 active.🐍 ty ✓ ruff ✓when the producing extension sets a Python status with a leading icon.🧪 runningwhen any extension publishes an activity status with its own icon.⚠️ dup biome-lspwhen local and npm installs register the same extension.
🧠 Use cases
- Track agent context usage during long coding sessions.
- See which model and thinking level are active.
- Monitor token totals and estimated cost.
- Keep git branch and project directory visible.
- Make Pi terminal sessions easier to scan at a glance.
🗂️ Package layout
extensions/pi-statusline/
├── src/
│ └── statusline.ts
├── README.md
├── LICENSE
├── tsconfig.json
└── package.jsonThe package exposes its Pi extension through package.json:
{
"pi": {
"extensions": ["./src/statusline.ts"]
}
}🔎 Keywords
Pi extension, Pi coding agent, statusline, terminal UI, AI coding agent status, token usage, context window, model status, TypeScript Pi package.
📄 License
MIT. See LICENSE.
