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

@mariczne/pi-power-user

v0.17.2

Published

Power-user toolkit extension for pi coding agent

Readme

pi-power-user

Powerline status bar, fixed editor cluster, and power-user toolkit for the pi coding agent.

Independent fork of pi-powerline-footer, expanded with a shortcut palette, subscription quota windows, and a fixed-editor cluster that keeps chat scrolling above the editor. Working Vibes have been removed.

Installation

pi install npm:@mariczne/pi-power-user

Restart pi to activate.

Features

Powerline status bar — Configurable segments (model, thinking, path, git, context, tokens, cost) with preset layouts and separators. Nerd Font auto-detection for iTerm, WezTerm, Kitty, Ghostty, and Alacritty with ASCII fallbacks. Custom items via powerline.customItems.

Fixed editor cluster — In interactive TUI sessions, chat/feed content scrolls above the fixed Pi working/status line, powerline rows, editor, ghost suggestions, bash transcript, and last-prompt/status rows. Scroll chat with the mouse wheel, PageUp/PageDown, Command+PageUp/PageDown, Ctrl+Shift+Up/Down, or message-jump shortcuts; the editor stays put. When scrolled away from the bottom, an optional shortcut hint card appears (off by default; opt in with /powerline scroll-away-card on). Drag text to copy it, drag selection to the viewport edge to scroll, double-click a line to select it, and right-click to open the terminal menu. Mouse capture blocks native modifier-click link handling; hold Shift while using your terminal's modifier-click to open OSC 8 links. Use /powerline mouse-scroll off or /powerline fixed-editor off for native link handling and selection.

Shortcut palette/powerline shortcuts or ctrl+shift+k opens a searchable command palette listing the active Powerline bindings (prefixed Powerline: ) alongside standard pi keybindings. Type to fuzzy-search, press enter to run the highlighted action. Editor keybindings are included as searchable reference entries; bindings scoped to pi's modal selectors (tree view, session picker, model selector) are omitted since those UIs show their own hints. Configure or disable the key through powerlineShortcuts.showShortcuts.

Editor stash — Press Alt+S to save your editor content and clear the editor, type a quick prompt, and your stashed text auto-restores when the agent finishes. Stash history persists to disk and is browsable via /stash-history or ctrl+alt+h.

Sticky bash mode — Toggle bash mode with ctrl+shift+b or /bash-mode. It keeps a managed shell session alive for the current pi session, shows a dedicated shell_mode segment, streams command output into an embedded transcript below the editor, and lets cd or exported state persist across commands. Ghost suggestions resolve from per-project shell history first, then guarded global history, then a tiny curated default set. One-off !command and !!command prompts reuse the same prediction pipeline.

Live thinking level indicator — Shows current thinking level (think:off, think:med, etc.) with per-level colors. xhigh and max use a rainbow effect; high uses the normal thinkingHigh theme color.

Subscription quota windows — When the active model has a supported subscription usage source, the cost segment shows live usage windows instead of a bare (sub). Supported providers: anthropic, openai-codex, and opencode-go. Anthropic/OpenAI usage is fetched through model-registry auth. Opencode Go scrapes the dashboard and requires OPENCODE_GO_WORKSPACE_ID plus OPENCODE_GO_AUTH_COOKIE; monthly usage is intentionally ignored for now. Usage is cached for 2 minutes (30s on error) and refreshed only while streaming with an active subscription. Set powerline.cost.subscriptionDisplay to "reported-cost" for the reported dollar cost or "both" for cost plus the subscription/quota display.

Provider shown next to the model — By default the model segment appends the active provider in parentheses (e.g. Sonnet 4 (anthropic)). Set powerline.model.display to "name" to suppress it or "qualified" to show the canonical provider-qualified ID (e.g. anthropic/claude-sonnet-4).

Context awareness — Color-coded warnings above 70% (yellow) and above 90% (red) context usage. The context segment shows used tokens, maximum tokens, and percentage together, and refreshes from live assistant usage during streaming instead of waiting for the next turn. Auto-compact indicator when enabled. If pi-custom-compaction is installed and enabled, the powerline automatically hides native context segments so the footer does not show stale post-summary usage.

Git integration — Async status fetching with 1s cache TTL. Automatically invalidates on file writes/edits. Shows branch, staged (+), unstaged (*), and untracked (?) counts.

Welcome overlay — Branded splash screen shown as centered overlay on startup. Shows gradient logo, model info, keyboard tips, loaded AGENTS.md/extensions/skills/templates counts, an approximate initial system-prompt token count, and recent sessions. Auto-dismisses after 30 seconds or on any key press. Off by default; set powerline.welcome: true to enable it.

Usage

Activates automatically. Toggle with /powerline, switch presets with /powerline <name>, fixed-editor mode with /powerline fixed-editor on|off|toggle, primary-row placement with /powerline placement above|below|toggle, the scroll-away card with /powerline scroll-away-card on|off|toggle, the shortcut palette with /powerline shortcuts, and wheel mode with /powerline mouse-scroll on|off|toggle.

| Preset | Description | |--------|-------------| | default | Model, thinking, path (basename), git, context, tokens, cost | | minimal | Just path (basename), git, context | | compact | Model, git, cost, context | | full | Everything including hostname, time, abbreviated path | | nerd | Maximum detail for Nerd Font users | | ascii | Safe for any terminal |

Environment: POWERLINE_NERD_FONTS=1 to force Nerd Fonts, =0 for ASCII.

Configuration

Set it in the agent settings file (~/.pi/agent/settings.json by default, or under PI_CODING_AGENT_DIR) or project-local .pi/settings.json:

{
  "powerline": {
    "preset": "default",
    "fixedEditor": true,
    "placement": "above",
    "welcome": false,
    "mouseScroll": true,
    "scrollAwayNavigationCard": false,
    "customItems": [
      {
        "id": "ci",
        "statusKey": "ci-status",
        "position": "right",
        "prefix": "CI",
        "color": "warning"
      }
    ],
    "layout": {
      "left": ["model", "thinking", "path", "git"],
      "right": ["context_pct", "cost"],
      "secondary": ["custom:ci"]
    },
    "disabledSegments": [],
    "path": { "mode": "basename" },
    "model": { "display": "name" },
    "cost": { "subscriptionDisplay": "subscription" },
    "git": { "polling": "full" }
  }
}

"placement" accepts "above" (default) or "below" in both fixed and regular editor modes. It moves only the primary powerline row; notifications and Pi working status stay above, while responsive overflow, bash transcript, and the last-prompt reminder stay below.

"layout" overrides segment order and grouping per preset row. A present left, right, or secondary array replaces that preset group exactly; an empty array clears it. Omitted groups keep the preset entries and automatically append custom items by their configured position. disabledSegments is applied after layout.

Shortcut configuration

{
  "powerlineShortcuts": {
    "showShortcuts": "ctrl+shift+k",
    "stashHistory": "ctrl+alt+h",
    "copyEditor": "ctrl+alt+c",
    "cutEditor": "ctrl+alt+x",
    "jumpPreviousUserMessage": "ctrl+shift+u",
    "jumpNextUserMessage": "ctrl+shift+i",
    "jumpPreviousLlmMessage": "ctrl+alt+,",
    "jumpNextLlmMessage": "ctrl+alt+.",
    "jumpChatBottom": "ctrl+alt+g",
    "scrollChatUp": "cmd+up",
    "scrollChatDown": "cmd+down",
    "editorStart": "cmd+shift+up",
    "editorEnd": "cmd+shift+down"
  }
}

Set a binding to null or "" to disable that action. After changing bindings, run /reload. Invalid bindings, reserved key conflicts (like Alt+S), or duplicate conflicts automatically fall back to safe defaults.

Bash mode configuration

{
  "bashMode": {
    "toggleShortcut": "ctrl+shift+b",
    "transcriptMaxLines": 2000,
    "transcriptMaxBytes": 524288
  }
}

Subscription cost display

| Mode | Subscription + reported cost | Subscription + no reported cost | |------|------------------------------|----------------------------------| | subscription | (sub) | (sub) | | reported-cost | $0.12 | (sub) | | both | $0.12 (sub) | (sub) |

Divergence from upstream

This package is an independent fork of pi-powerline-footer. Key divergences:

  • Shortcut palette/powerline shortcuts or ctrl+shift+k opens a searchable command palette blending Powerline bindings with standard pi keybindings.
  • Subscription quota windows — The cost segment shows live usage windows for anthropic, openai-codex, and opencode-go subscriptions.
  • Provider shown next to the model — The model segment appends the active provider in parentheses by default.
  • Welcome is opt-in — The startup welcome overlay/header is off by default. Set powerline.welcome: true to turn it back on. (Upstream defaults it on.)
  • Thinking-level stylinghigh uses the normal thinkingHigh theme color; only xhigh and max use rainbow styling. max also has an explicit footer label/icon. Upstream applies rainbow styling to high too.
  • Fixed-editor Shift+Enter restored on pi 0.77+ — The Kitty keyboard protocol negotiation is asynchronous on pi 0.77+, so the alternate screen's keyboard-protocol stack could be left unset when install() ran, degrading Shift+Enter to a bare \r that submits. TerminalSplitCompositor now re-checks the extended keyboard mode on each scrollable-root render and pushes it once the mode resolves (ensureAlternateScreenKeyboardMode).
  • Working Vibes removed — The /vibe command, the working-vibes.ts module, its tests, and all related README/index wiring have been removed. The "Working…" status text is no longer themed.

License

MIT

Author

Original author: Nico Bailon. Independently maintained by @mariczne.