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

remote-review

v0.1.0

Published

Review Claude Code's git diffs from anywhere via a shareable tunnel link, and send comments straight back to the agent — no PR required.

Readme

remote-review

Review Claude Code's git diffs from anywhere — a shareable, tunneled diff viewer built for dispatch mode (non-interactive / --print / background Claude Code sessions), where you're not sitting in front of the terminal that's running the agent.

Inspired by difit, which solves this beautifully for local, same-machine review. remote-review adds one piece: a tunnel, so the review page works from your phone or another machine, and blocks the agent's turn until you've actually looked at the diff — no PR needed.

┌──────────────────────────────┐
│ Claude Code (dispatch mode)   │
│  finishes a task              │
│  runs: remote-review .        │──┐
└──────────────────────────────┘  │
                                    ▼
                     starts local server + cloudflared tunnel
                     prints https://xyz.trycloudflare.com
                                    │
                                    ▼
                     you open the link on your phone,
                     read the diff, leave inline comments,
                     tap "Send to Claude"
                                    │
                                    ▼
                     CLI unblocks, prints comments to stdout,
                     Claude Code reads them as its tool result
                     and addresses the feedback

Quickstart

Try it in under a minute — no Claude Code required:

# Install the CLI (pick one)
npm install -g remote-review
# or, without installing globally:
npx remote-review .

# Install cloudflared for remote/phone access (macOS example)
brew install cloudflared

In any git repo with changes:

cd ~/projects/my-app
remote-review .

The command prints a Local: URL (same machine) and, if cloudflared is installed, a Remote: URL (phone or another device). Your browser opens the local page automatically.

  1. Open the review page — use Remote: on your phone, or follow the auto-opened local tab.
  2. Read the diff and click + on any line to leave a comment.
  3. Tap Send to Claude (or Finish (no comments) to approve with no feedback).

When you submit, the CLI unblocks and prints your comments to stdout:

src/api/handler.ts:L18
This should probably validate input before writing to disk

If submit fails (e.g. the tunnel dropped), use the Copy button on the page and paste the comments into your agent manually.

Local-only, no tunnel:

remote-review . --no-tunnel

Install

npm install -g remote-review

You'll also want cloudflared on your PATH for remote links (no account or config needed — it uses anonymous "quick tunnels"). Without it, remote-review still works, just local-only.

# macOS
brew install cloudflared

# Linux: grab the binary from the releases page above, or
# your distro's package manager if it has one

Usage

remote-review .        # all uncommitted changes (most common in dispatch mode)
remote-review          # HEAD's latest commit
remote-review staged   # staged changes only
remote-review working  # unstaged changes only
remote-review main     # a specific ref vs its parent
remote-review feature main   # compare two refs

The command blocks until you submit a review (or close the tab having decided there's nothing to say). On exit, any comments are printed to stdout in a simple format:

src/components/Button.tsx:L42
Make this variable name more descriptive

src/api/handler.ts:L18
This should probably validate input before writing to disk

If nothing was submitted, it prints Review finished with no comments. instead.

Options

| Flag | Default | Description | | --- | --- | --- | | -p, --port <port> | random free port | Local port to bind | | --no-tunnel | tunnel on | Skip cloudflared, local-only | | --host <host> | 127.0.0.1 | Host to bind the local server to | | -C, --cwd <path> | cwd | Run against a different repo path | | --context <lines> | git default | Context lines around each change | | --timeout <seconds> | none | Give up waiting after N seconds | | --no-open | opens browser | Don't auto-open the local URL |

Using it from Claude Code

Copy skills/remote-review into your agent's skills directory (or wherever your Claude Code setup loads skills from) so Claude Code knows when and how to reach for it during dispatch sessions:

cp -r skills/remote-review ~/.claude/skills/   # adjust to your actual skills path

The skill tells Claude Code to run remote-review . after finishing meaningful work in a non-interactive session, share the printed Remote: URL with you, and treat the stdout it gets back as review feedback to act on.

How it's different from difit

  • Tunneled by default — a fresh cloudflared quick tunnel per invocation, torn down when the review is submitted, so the link works from any device without VPN/SSH setup.
  • Token-gated — the tunnel URL alone isn't enough; a random token is required, so a leaked/logged URL without the token query param doesn't expose the diff.
  • Built for the blocking-CLI-call contract specifically, so it drops straight into an agent's tool-call loop the same way difit does, just reachable remotely.
  • Everything else (diff parsing, comment UX, prompt format) intentionally mirrors difit's proven model.

Security notes

  • Each session generates a random token; without it, /api/diff and /api/submit return 403.
  • The tunnel is anonymous and unauthenticated beyond that token — treat the link as a bearer credential, don't paste it somewhere public.
  • The server only accepts one submission per invocation, then the process exits and the tunnel is torn down.
  • remote-review never writes to your repo or executes anything on your behalf; it only reads diffs and returns text.

Development

git clone https://github.com/liedsonc/remote-review.git
cd remote-review
npm install
npm test
node bin/remote-review.js . --cwd /path/to/some/repo --no-tunnel

No build step — plain Express backend, dependency-free vanilla-JS frontend.

License

MIT