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

@spences10/pi-footer

v0.0.16

Published

Configurable Pi footer/statusline that keeps model, project, Git, token, and runtime state visible

Downloads

3,582

Readme

@spences10/pi-footer

built with Vite+ tested with Vitest npm version license

my-pi package preview

See the session state that matters without leaving Pi. pi-footer adds a configurable statusline for model, project, Git, token, and runtime signals so long agent sessions stay easy to orient and trust.

Upstream Pi boundary

Pi owns the footer lifecycle through ctx.ui.setFooter(...) and status transport through ctx.ui.setStatus(...) plus the footer data provider. This package directly calls setFooter and reads the data provider; it does not call, wrap, or re-export setStatus. Other extensions publish status values through setStatus, and Pi supplies them to this renderer through the provider. Without the curated layouts below, Pi's built-in footer already renders core session data and extension statuses.

pi-footer adds the configurable part: presets, density and tone, selectable widgets, multi-row status placement, persistent settings, and the /footer live-preview workflow. Installing it replaces Pi's built-in footer renderer with that curated UI while continuing to read status values published through Pi's native API. Session names are read from Pi on every render; Pi invalidates the footer when session_info_changed fires, so this package does not poll session metadata.

Token and cost widgets follow Pi's canonical session accounting: assistant responses, nested LLM usage returned by tools, compaction summaries, and branch summaries are each counted once. Context percentage remains Pi's active-model context usage and is separate from these cumulative billed totals.

Library API

@spences10/pi-footer is both a Pi extension and a supported library. The package root is the only public import path; files under dist/ are implementation details.

import footer_extension, {
	FOOTER_PRESETS,
	get_current_thinking_level,
	render_footer_status_line,
} from '@spences10/pi-footer';

The root API includes:

  • the default Pi extension;
  • get_current_thinking_level and get_default_footer_thinking_level for model-thinking status;
  • render_footer_lines, render_footer_status_line, and render_footer_three_column_line for footer rendering;
  • FOOTER_PRESETS, FOOTER_DENSITIES, FOOTER_STATUS_ALIGNMENTS, FOOTER_TONES, FOOTER_WIDGETS, plus FooterPreset, FooterDensity, FooterStatusAlignment, FooterStatusLayout, FooterStatusPlacement, FooterTone, and FooterWidget for configuration-aware integrations;
  • FOOTER_COLORS and FooterTheme for theme-compatible rendering;
  • FOOTER_RESEARCH_REFERENCES, the reference metadata shown by the /footer preset guidance.

These root exports are compatibility-supported. Additive changes can ship in minor or patch releases, while removing or changing an export requires a breaking release.

Commands

  • /footer — configure layout, density, appearance, visible content, and extension-status placement with a live preview.

Extension statuses published through ctx.ui.setStatus(...) can be assigned independently to any numbered row, aligned left, center, or right, or hidden. Populated rows render in order; empty rows collapse automatically. Compact density renders the first populated status row.

The default layout keeps harness and prompt state on row 1, then places MCP/service health on row 2 left and Codex usage on row 2 right. Footer choices persist under the packages.footer section in ~/.pi/agent/my-pi-settings.json.

Presets

  • default — current my-pi-style 2–3 line footer.
  • minimal — compact cwd/model/context footer.
  • power — fuller status-forward layout.
  • git-heavy — emphasizes cwd/git/status widgets.

Development

Package scripts build transitive workspace dependencies first, then run local tools through Vite+ with vp exec.

pnpm --filter @spences10/pi-footer run check
pnpm --filter @spences10/pi-footer run test
pnpm --filter @spences10/pi-footer run build