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

@hyperlogue/r3

v0.3.0

Published

Review. Revise. Resolve. — a local-first review tool for AI-generated code and docs. Runs the matching prebuilt native r3 binary (shipped as a per-platform optional dependency); works with `bunx @hyperlogue/r3` and `npx @hyperlogue/r3`.

Readme

r3 is a review tool for the diffs and docs produced by your coding agents, running locally with a web interface. You leave feedback pinned to the exact line or quote it's about, and track each comment to resolution.

r3 fills a gap the chat box can't. Say your agent writes a long planning doc and you want to fix a handful of things. In a chat you copy-paste each passage to quote it, type your feedback, then lose track across turns of what's been handled. Instead of working in a linear, unstructured chat stream, r3 works like the code review tools you're used to, but just for you and your agents, and it runs fully locally.

Workflow

The point of r3 is a tight, copy-paste-free review loop between you and an agent.

sequenceDiagram
    participant A as Agent
    participant S as r3 server
    participant U as You (browser)

    A->>S: [1] `r3 create` — opens a review, shares the URL
    loop until you Approve or Abandon
        A->>S: [2] `r3 watch` (blocks for feedback)
        U->>S: [3] leave feedback + Submit
        S-->>A: `r3 watch` prints your feedback to stdout and exits
        A->>S: [4] `r3 reply` by feedback id
        S-->>U: [5] web UI updates live
    end
  1. The agent starts a review with r3 create and shares the URL.
  2. The agent runs r3 watch <id>, which registers as a live watcher and waits for feedback.
  3. You leave feedback anchored to the exact lines it's about, then click Submit. watch prints your feedback to stdout that's captured by the agent.
  4. The agent works each item and replies by feedback id (r3 reply <fid> -m "what I changed"), saying what it changed, or the reasoning for why it didn't.
  5. Every reply lands on the web UI through live updates. The agent watches again until you Approve or Abandon the review.

Quick start

r3 is driven by your coding agent, so the quickest start is to point your agent at it. Drop this into your agent's instructions file (AGENTS.md, CLAUDE.md, or your tool's equivalent), or just try it out by pasting it into a new session:

This project uses r3 for review. Run it with whichever of these you have:
`npx @hyperlogue/r3@latest`, `bunx @hyperlogue/r3@latest`, or `nix run github:hyperlogue/r3 --`.
`r3 guide` will show how to use it.

Then just ask: "put your changes up for review." Your agent runs npx @hyperlogue/r3@latest create …, shares the URL, and waits while you leave feedback in the browser. The launcher lazily starts the web server on localhost and opens the review.

One web server spans all your repos on a stable port (default 8791). The first call spawns it automatically, so there's nothing to start by hand; r3 start | stop | status | restart manage it explicitly. Open http://127.0.0.1:8791/ to see every project's reviews in one tab.

No config needed: reviews live in one global sqlite at $XDG_STATE_HOME/r3/r3.sqlite keyed by a projects registry (so worktrees of one clone are one project and copies stay separate), and the web server announces itself in $XDG_RUNTIME_DIR/r3/daemon.json so the CLI finds it with zero config. Run the CLI from any git repo, and it tells the web server which project/worktree the call targets.

You rarely type the commands yourself — you ask your agent, and it runs the right r3 create:

"Put your working changes up for review."
  → diff review of the working tree

"Open a review of the plan doc so I can comment on it."
  → files review of that file, watched live as the agent keeps editing

"Let me review the diff between main and this branch."
  → diff review of the range

"Start a review with a scratch folder and put your draft design doc there."
  → adhoc scratch review with no git source

To install r3 permanently — a persistent command instead of npx/bunx each time — add -g:

npm install -g @hyperlogue/r3    # or: bun add -g @hyperlogue/r3

Then run r3 … from anywhere.

Reviews

Every review is one of two kinds:

  • A files review is a live view of a set of files as they are right now. r3 watches them and re-renders on every change, so it fits work in progress: a design doc your agent is still writing, or a few source files you want to read together.
  • A diff review is a frozen record of a change: a commit, a branch range, your working tree, or any diff. It doesn't move once captured, and follow-up work lands as new rounds you can compare against.

Feedback anchors to a quote, not a line number: in a files review your notes follow the code as it's edited; in a diff review the rounds are immutable, so nothing drifts.

Remote access

If you work on a remote dev server, r3 listens on loopback there, and you reach its web UI from your local device through a tunnel. Set one up however you like: an SSH forward (ssh -L 8791:localhost:8791 devbox), tailscale serve, or a Cloudflare tunnel. Never bind 0.0.0.0.

Env: R3_PORT (default 8791), R3_BIND (default 127.0.0.1), R3_ALLOWED_HOSTS (comma-separated exact Host names, never *), R3_PUBLIC_URL.