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

@signalridge/pi-input-history

v1.2.6

Published

Cross-session prompt history with a full fzf/atuin-style Ctrl+R picker for Pi.

Readme

pi-input-history

Cross-session prompt history and an fzf/atuin-style fuzzy Ctrl+R popup for pi.

License: MIT

Why

Pi's built-in ↑/↓ history only covers the current session and is lost on reload. This extension persists your last 100 prompts across sessions and adds an fzf/atuin-style Ctrl+R popup — a scrollable, live-filtered list of past prompts — so you can find any of them instantly.

The popup is rendered with Pi's native TUI components and adapts to narrow terminals.

Install

pi install npm:@signalridge/pi-input-history

Use from this checkout

From the repository root:

pi -e ./packages/pi-input-history

Usage

Persistent history

On session start, your last 100 prompts across all sessions are loaded into the editor. Use ↑/↓ arrows to browse them as usual.

Fuzzy popup (Ctrl+R)

  1. Press Ctrl+R to open the popup — a large centred two-pane dialog, fzf --preview style. The left pane lists your recent prompts newest-first, each row carrying its position and age; the right pane shows the full text of the highlighted entry, which one-line summaries cannot convey for long prompts.
  2. Type to fuzzy-filter the list live (subsequence matching, space-separated multi-token).
  3. The selected row shows as a full-width highlight bar; matched characters are underlined in your theme's accent color.
  4. Navigate and accept:

| Key | Action | | --------------------------- | ---------------------------- | | ↑ / Ctrl+P / Ctrl+S | Move up the list (newer) | | ↓ / Ctrl+N / Ctrl+R | Move down the list (older) | | Ctrl+D / Ctrl+U | Scroll the preview pane | | Enter | Accept selection into editor | | Esc / Ctrl+G / Ctrl+C | Cancel |

Arrow and Emacs bindings follow the list (Ctrl+P/Ctrl+N = previous/next line); Ctrl+R/Ctrl+S keep their shell meaning, so pressing Ctrl+R again walks further back in history. Below 76 columns the preview pane is dropped and the list takes the full width.

Features

  • fzf-style two-pane popup — a live-filtered list plus a preview pane showing the highlighted prompt in full, instead of a single-line prompt.
  • Cross-session persistence — history survives across sessions automatically.
  • Fuzzy subsequence matching — type partial characters in order, multi-token support with spaces.
  • Character-level highlighting — matched positions shown with accent color underline on a full-width selection bar.
  • Deduplication — no duplicate entries across sessions.
  • Current session awareness — merges live branch history with cached cross-session history.

Acknowledgments

The Ctrl+R reverse search component is inspired by pi-readline-search by @mrshu.

License

MIT