npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@savagelands-net/pi-statusline

v0.2.2

Published

Minimal modular statusline extension for pi coding agent

Downloads

121

Readme

@savagelands-net/pi-statusline

A polished statusline extension for Pi, maintained by savagelands-net.

This package is a fork of @wierdbytes/pi-statusline. The upstream package provided the modular Tokyo Night styled statusline foundation; this fork keeps that base and adds the layout, prompt, icon, and npm-package polish we wanted for our Pi setup.

Savagelands Pi Statusline demo

What this fork adds

Compared with the upstream @wierdbytes package, this fork adds:

  • Published package identity — npm package, GitHub repo, and docs now live under @savagelands-net/pi-statusline.
  • Below-prompt statusline placement — the statusline defaults to rendering below the prompt/editor instead of above it.
  • Configurable placement — switch between above-editor, below-editor, and status output with /statusline placement ....
  • Prompt divider behavior — the editor bottom border stays visible and acts as the divider when the statusline is below the prompt.
  • Powerline-style prompt prefix — editor input starts with a clean marker and continuation lines align underneath it.
  • Folder icon in the path block — the cwd segment has a matching icon for the active icon set.
  • Git branch icon — the git block now includes an icon, branch name, and clean/dirty state.
  • Expanded icon sets — choose Nerd Font, plain Unicode, ASCII, minimal, or emoji styles.
  • Token-rate block — show live/final assistant output speed in tok/s, adapted from tok-rate-footer.

Screenshot

Use this path for the package screenshot:

assets/demo.png

Install

pi install npm:@savagelands-net/pi-statusline

Then restart Pi or reload packages:

/reload

Quick start

/statusline on
/statusline off
/statusline toggle
/statusline

/statusline opens the settings overlay where you can configure display options, icon style, block layout, and block-specific settings.

Statusline blocks

Each block only appears when relevant, and block order/visibility is configurable.

  • Model — active model name, with optional inline thinking level.
  • Path — folder icon plus the last cwd segments, with the current folder highlighted.
  • Git — git icon, branch name, and clean/dirty marker.
  • Context — usable context percentage with a progress bar.
  • Cost — session cost when greater than zero.
  • Tokens — input, output, cache-read, and cache-write counters with individual sub-toggles.
  • Rate — live/final assistant output speed in tok/s; live rate is estimated from stream deltas and final rate prefers provider usage output when available.
  • Stash — saved prompt count from the editor stash history.
  • Subagents — active/queued subagent summary when a compatible subagents extension is loaded.

Layout

The statusline ships with reorderable blocks:

model > path > git > context > cost > tokens > rate > chips > stash

Open the settings overlay with:

/statusline

In the Layout tab:

  • space toggles the selected block.
  • alt+↑ / alt+↓ moves the selected block.
  • enter opens block-specific sub-settings for blocks that have them.

Command-line layout controls are also available:

/statusline layout
/statusline layout reset
/statusline layout toggle <block>
/statusline layout move <block> <up|down|top|bottom>

Placement

This fork defaults to the below-prompt layout:

/statusline placement below

Switch back to upstream-style placement above the editor:

/statusline placement above

Show the current placement:

/statusline placement status

The setting is persisted in the statusline config file.

Prompt prefix

The editor renders a compact powerline-style prompt marker:

❯ your prompt text

Continuation lines align under the input text, keeping multi-line prompts tidy.

Icon sets

Switch icon styles with:

/statusline icons <set>

Available sets:

| Set | Use when | |---|---| | nerd-font | You use a Nerd Font and want the full visual style. | | plain | You want portable Unicode symbols. | | ascii | You need maximum terminal/log compatibility. | | minimal | You want a compact symbolic look. | | emoji | You prefer the original emoji-heavy style. |

Check the current icon set:

/statusline icons status

Editor stash

The extension includes a prompt stash workflow:

  • Alt+S — stash current editor text and clear the editor.
  • Alt+S with an empty editor — restore the active stash.
  • Ctrl+Alt+S — open the stash history picker.

The stash block shows the current stash-history depth as 📦 N or the equivalent icon for the active icon set.

Fixed editor cluster

Enable a fixed bottom editor/statusline cluster:

/statusline fixed-editor on

When enabled, chat/feed content scrolls above the fixed statusline and editor. Turn it off with:

/statusline fixed-editor off

Mouse scrolling can be controlled separately:

/statusline mouse-scroll on
/statusline mouse-scroll off

Subagents bridge

When a compatible subagents extension emits subagents:* events, this statusline can show an aggregated active/queued agents chip and toast failures or long-running completions.

/statusline subagents status
/statusline subagents on
/statusline subagents off
/statusline subagents long-ms <ms>
/statusline subagents toast-failure <on|off>
/statusline subagents toast-long <on|off>
/statusline subagents toast-scheduled <on|off>

Commands

/statusline on
/statusline off
/statusline toggle
/statusline placement [above|below|status]
/statusline footer on|off|toggle
/statusline fixed-editor on|off|toggle
/statusline mouse-scroll on|off|toggle
/statusline events [status|log|clear|toast-ms <level> <ms>]
/statusline icons [nerd-font|plain|ascii|minimal|emoji|status]
/statusline rate [status|on|off|reset]
/statusline layout [status|reset|toggle <block>|move <block> <up|down|top|bottom>]
/statusline subagents [status|on|off|long-ms <ms>|toast-failure <on|off>|toast-long <on|off>|toast-scheduled <on|off>]

Configuration files

This fork stores its settings under its own package-specific directory:

~/.pi/agent/savagelands-net-pi-statusline/

Important files:

  • events.json — display, placement, icon, layout, and event/toast settings.
  • stash-history.json — prompt stash history.

If an older ~/.pi/agent/wierd-statusline/ file exists and no savagelands config exists yet, the fork imports it once into the new directory. Future writes stay in savagelands-net-pi-statusline so this package does not mutate upstream @wierdbytes/pi-statusline settings.

Development

git clone https://github.com/savagelands-net/pi-statusline.git
cd pi-statusline
npm install
npm test

Install a local checkout into Pi while developing:

pi install ./

Credits

Forked from @wierdbytes/pi-statusline by @wierdbytes.

Also inspired by pi-powerline-footer by @nicobailon, and the token-rate logic from tok-rate-footer by @Cass67.