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

pi-shorthand

v0.13.0

Published

Pi tool for editing repositories with Bun programs, with first-class support for TypeScript and JavaScript.

Readme

pi-shorthand

A code call in Pi

A Pi tool for editing repositories with Bun programs, with first-class support for TypeScript and JavaScript.

Install

Install Bun 1.4 or later, which runs the programs:

curl -fsSL https://bun.sh/install | bash

Then install pi-shorthand:

pi install npm:pi-shorthand

On macOS, install clang and AgentFS:

xcode-select --install
curl -fsSL https://agentfs.ai/install | bash

On Linux, install bubblewrap 0.11 or later, a C compiler, and lsof. For Debian and Ubuntu, check the available bubblewrap version before installing:

apt-cache policy bubblewrap
sudo apt install bubblewrap build-essential lsof

Technical choices

pi-shorthand gives Pi a programming environment instead of a patch format. This makes multi-file and structural edits possible in one call, but does not guarantee that Pi will find it easier or more reliable than its built-in edit tool. Which works better depends on the model and the task.

Programs edit a private workspace, with host files outside the repository kept read-only. Agents are good at improving things a step at a time, so changes are applied a whole file at a time and the agent is told which worked and which didn't. Concurrent edits can cause a run to be rejected; conflict detection is best-effort, not an atomic commit.

The code tool uses Pi's working directory by default. Pass cwd to target another checkout; relative paths are resolved from Pi's working directory. For example, when Pi starts in a bare worktree container, cwd: "child" targets its child worktree. The chosen directory must be inside a Git worktree.

Scripts run by Pi's codemode tool can call code too. They get back what the run changed as data, not text.

Without Pi

The engine is published separately as shorthand-code, with a shorthand command that runs a program from a file or stdin and prints the same result. See shorthand --help.

Code graph (optional)

Install sightread and programs can also ask the TypeScript compiler what calls what, with exact line ranges, before they edit:

npm i -g sightread