@audsiui/pi-statusbar
Minimalist terminal aesthetic suite for Pi — clean startup header, model-border editor, and single-line statusbar
Package details
Install @audsiui/pi-statusbar from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@audsiui/pi-statusbar- Package
@audsiui/pi-statusbar- Version
1.5.2- Published
- Aug 28, 2026
- Downloads
- 601/mo · 23/wk
- Author
- audsiui
- License
- MIT
- Types
- extension
- Size
- 41.7 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./extensions/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@audsiui/pi-statusbar
A Pi extension that replaces the default startup screen, editor chrome, footer, and tool output with a denser, single-line layout.
What it changes
Startup screen — shows a one-line π · ~/path header, and re-renders the built-in [Skills] / [Prompts] / [Extensions] lists as a single grouped card with a 2-row overflow guard (+N more).
Editor — wraps the input box in rounded borders (╭─╮ / ╰─╯). The top border shows the current model, provider, reasoning level (when on), the running tool name ([read], [edit], [bash], …), and the latest turn's throughput (52.4 tok/s). The built-in working… row is hidden to avoid a duplicate spinner.
Footer — collapses the status bar to one line.
- Left: cwd (with
~), git branch (⑂), staged/modified counts (+Ngreen,~Nyellow), session name. - Right (anchored): context-usage bar (
▰▰▰▱▱▱ 48.2%/200k), cost, cache read/write + hit rate, tokens in/out, extension statuses. - Drops auxiliary metrics from the left when the terminal is too narrow, so the context bar and key info never wrap.
Tool output — replaces the multi-line box that Pi draws for every tool execution (read, bash, edit, write, grep, find, ls, plus any third-party tool) with a single summary line: a colored gutter (▎) for state (running/success/error), the tool name, the target argument, and chars · time. Press Ctrl+O to expand; expanded bodies are wrapped with a thin side rail so they don't blend into chat text.
Screenshot
π · ~/workspace/pi-extend
╭─ Extensions (4) ────────────────────────────────────────────────────────────────╮
│ • pi-statusbar • rpiv-ask-user • rpiv-todo • pi-goal │
├─ Skills (4) ────────────────────────────────────────────────────────────────────┤
│ • codegraph • council-mode • keenable-web-search • pi-subagents │
├─ Prompts (5) ───────────────────────────────────────────────────────────────────┤
│ • /council • /parallel-research • /review-loop • /pi • /status │
╰──────────────────────────────────────────────────────────────────────────────────╯
╭─ (anthropic) ○ claude-3-7-sonnet • high ───────────────────────── [ 52.4 tok/s ] ─╮
╰─────────────────────────────────────────────────────────────────── [ ↵ Send ] ─╯
~/workspace/pi ⑂ main +2 ~5 $0.123 · ⇣1.2M ⇡40k ⚡96.0% · ⇣12k ⇡3.0k · ▰▰▰▱▱▱ 48.2%/200k
▎ ▶︎ [read] header.ts · 7,166 chars · 0.1s
Install
# from npm
pi install npm:@audsiui/pi-statusbar
# from GitHub
pi install git:github.com/audsiui/pi-statusbar
# try without saving config
pi -e npm:@audsiui/pi-statusbar
Uninstall
pi remove @audsiui/pi-statusbar
Layout
extensions/
├── index.ts # lifecycle hooks, wires the four components
├── header.ts # startup header + resource card re-render
├── editor.ts # rounded editor with model/tool/tps border
├── footer.ts # single-line status bar
├── tools.ts # universal single-line tool output hook
└── utils/
├── git.ts # async git status polling (non-blocking)
├── tokens.ts # cached token + cost aggregation
└── format.ts # border layout, token formatting, package-name cleanup
Implementation notes
- Only state carries semantic color (context bar, git counts, tool gutter/arrow, running spinner); everything else is dim/muted.
- Git status is polled in the background (
GIT_OPTIONAL_LOCKS=0); token usage is cached. Neither blocks the input or render loop. - The tool hook covers tools Pi ships with plus any third-party tool that follows the same
toolName/render/addChildcontract. - Only uses Pi's public surface (
ExtensionAPI,sessionManager,theme,footerData).
Glyphs
⚡(U+26A1) ships withU+FE0E(VS15) to force monochrome text presentation instead of the default color-emoji render;▶▼✖get the same treatment.⑂replaces the common⎇git-branch glyph because⎇(U+2387) is missing from most monospace fonts (DejaVu Sans Mono, Liberation Mono, Ubuntu Mono);⑂is covered by all of them.- Arrow semantics are consistent:
⇣= into context (input / cache read),⇡= out of context (output / cache write).
License
MIT © audsiui