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

@neilurk12/pi-clean-footer

v0.2.8

Published

Clean, minimal, and lightweight powerline-style footer extension for pi coding agent.

Readme

pi-clean-footer

Clean, minimal, and lightweight powerline-style footer extension for pi.

Shows a compact split footer:

pi-clean-footer example

Features

  • Smart short model names, plus thinking effort (low, med, high, xhigh)
  • Current directory basename only
  • Git branch + dirty file count, including untracked files
  • Event-driven git refresh after file-changing tools and user bash commands
  • Context usage as used/max
  • Cumulative active-branch token totals: input, output, total, cache read, cache write
  • Adaptive width tiers for narrow terminals
  • /footer toggle
  • /footer refresh force refresh

Install

From npm (recommended) | https://www.npmjs.com/package/@neilurk12/pi-clean-footer:

pi install @neilurk12/pi-clean-footer

For project-local install:

pi install -l @neilurk12/pi-clean-footer

Or from local checkout (development):

pi install /absolute/path/to/pi-clean-footer

Usage

Toggle footer:

/footer

Force git refresh:

/footer refresh

Show active config paths and resolved config:

/footer config

Reload config after editing JSON:

/footer reload

Configuration

Config is optional. Defaults match the built-in package behavior.

Load order:

  1. Global: ~/.pi/agent/clean-footer.json
  2. Project: .pi/clean-footer.json

Project config overrides global config. Nested modelAliases and colors are merged.

Example:

{
  "preset": "compact",
  "enabled": true,
  "showGit": true,
  "showTokens": true,
  "showCache": true,
  "showCacheRead": true,
  "showCacheWrites": true,
  "showContext": true,
  "showDirectory": true,
  "showEffort": true,
  "gitRefreshDebounceMs": 500,
  "separator": " • ",
  "layouts": [
    {
      "minWidth": 100,
      "left": ["model", "directory", "git"],
      "right": ["context", "tokensFull"]
    },
    {
      "minWidth": 60,
      "left": ["model", "git"],
      "right": ["context", "tokensTotal"]
    },
    {
      "minWidth": 0,
      "left": ["model"],
      "right": ["context"]
    }
  ],
  "contextWarningPercent": 70,
  "contextDangerPercent": 85,
  "modelAliases": {
    "claude-sonnet-4-5-20250929": "sonnet-4.5",
    "gpt-5.5-codex": "gpt-5.5"
  },
  "colors": {
    "model": "accent",
    "directory": "dim",
    "git": "success",
    "gitDirty": "warning",
    "contextNormal": "success",
    "contextWarning": "warning",
    "contextDanger": "error",
    "tokens": "muted",
    "separator": "dim"
  }
}

Preset example:

{
  "preset": "minimal",
  "showGit": true
}

Supported presets:

| Preset | Description | |---|---| | default | Built-in footer behavior. | | minimal | Quiet model + context layout with git, directory, and tokens hidden. | | compact | Model, git, context, and total tokens with cache noise hidden. | | dense | Full information layout with cache read and write counts enabled. | | focus | Model + context only for low-distraction sessions. | | muted | Softer semantic colors while keeping default-style behavior. |

Preset values are applied before user config, so explicit settings override the preset. Unknown preset names are ignored with a /footer config warning and default behavior is used.

Supported layout segment IDs:

  • model - model name plus thinking effort when showEffort is enabled
  • directory - current directory basename
  • git - git branch and dirty count
  • context - context usage
  • tokensFull - input, output, total, cache read, and cache write tokens
  • tokensNoCache - input, output, and total tokens
  • tokensTotal - total tokens only

layouts are selected by the highest minWidth less than or equal to the terminal width. showGit, showTokens, showContext, showDirectory, and showEffort still act as global visibility controls. showCache is a deprecated global cache-token gate; use showCacheRead and showCacheWrites to hide cache read () and write () counts independently. Unknown or duplicate layout segments are omitted and reported by /footer config.

Malformed JSON keeps defaults/last loaded behavior and reports an error through /footer config or at startup.

Package manifest

This package declares its extension through package.json:

{
  "pi": {
    "extensions": ["./dist/index.js"]
  }
}

Development

Type-check extension:

npx tsc --noEmit --skipLibCheck --moduleResolution Node16 --module Node16 --target ES2022 --types node src/index.ts

Notes

Extensions run with full system permissions. Review code before installing any pi package.