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

pocketpatch

v0.1.1

Published

Mobile-friendly local diff review for agent-generated code changes.

Readme

PocketPatch

PocketPatch is a local, mobile-friendly diff review tool for uncommitted code changes. It is built for reviewing agent-generated work from a phone without creating a pull request first.

Quick Start

npx pocketpatch register

register starts the local PocketPatch daemon if needed, registers the current working directory, and prints a review URL. Open that URL in a browser to review the current uncommitted diff.

After reviewing, print unresolved comments from the CLI:

npx pocketpatch comments

Resolve a comment when it has been handled:

npx pocketpatch comments resolve 1

Requirements

  • Node.js 20 or newer
  • Git
  • A way for your phone to reach the machine running PocketPatch

PocketPatch works well over Tailscale. Configure the daemon to bind to your Tailscale IP and the review URL will be reachable from other devices on your tailnet.

Tailscale Setup

List local network addresses:

npx pocketpatch config addresses

Set the bind address to your Tailscale IP:

npx pocketpatch config set-bind-address 100.x.y.z

Register your project again:

npx pocketpatch register

By default, PocketPatch uses port 3217.

Commands

| Command | Description | | --- | --- | | pocketpatch register [path] | Register a project and print its review URL. Starts the daemon if needed. | | pocketpatch comments | Print unresolved comments for the current registered project. | | pocketpatch comments --show-resolved | Include resolved comments. | | pocketpatch comments --project <id> | Print comments for a specific project. | | pocketpatch comments resolve <id> | Mark a comment resolved. | | pocketpatch config addresses | List local addresses that can be used for daemon binding. | | pocketpatch config show | Print the active config file path and config JSON. | | pocketpatch config set-bind-address <ip> | Persist the daemon bind address. | | pocketpatch daemon plan | Print the endpoints the daemon will bind. | | pocketpatch daemon start | Start the daemon in the foreground for debugging. |

How Comments Work

PocketPatch reviews the current uncommitted diff. Comments are attached to changed lines and hidden when their file or anchor line is no longer present in the current diff.

The CLI is distributed as an npm package with the internal PocketPatch workspace modules and browser assets bundled into the package. It runs on Node, so npx pocketpatch and global npm installs use the standard npm executable path.