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

pcr-dev

v0.2.7

Published

PCR.dev CLI — capture AI coding prompts for peer review

Readme

pcr — Prompt & Code Review CLI

Capture the prompts your team sends to AI coding assistants. Review them like a code review.

npm version Homebrew License

Website · Docs · Quickstart · Discussions


What this is

pcr is a local CLI that watches the AI coding sessions you already have running (Cursor, Claude Code, VS Code Copilot Chat), captures every prompt with the right project / branch / commit / model attribution, and lets you bundle and push them to pcr.dev where your team reviews them alongside the diff.

The CLI in this repo is open source under Apache 2.0. The dashboard at pcr.dev is a hosted product; the CLI works against a local-only store without it.

Install

npm install -g pcr-dev                                 # any platform, Node ≥ 16
brew install pcr-developers/pcr/pcr                    # macOS · Linux

Standalone binaries for every supported platform are on the Releases page.

Supported platforms: macOS arm64 · macOS x64 · Linux x64 · Windows x64.

Quickstart

pcr login                                # one-time browser auth (skip for local-only use)
cd ~/code/your-repo
pcr init                                 # register the current git repo
pcr start                                # leave running while you work in your editor
pcr bundle "auth refactor"               # opens the TUI: pick drafts, press b → enter
pcr push                                 # upload to pcr.dev for team review

For per-command examples, run pcr <cmd> --help or browse pcr.dev/docs.

How it works

The supported AI tools each write session transcripts to disk as you work. pcr start watches those files, attributes every prompt to the right project / branch / commit, and saves them locally. Nothing leaves your machine until you explicitly run pcr push.

Cursor / Claude Code / Copilot
       │  (writes session files to disk — already happens)
       ▼
   pcr start ─────────▶ ~/.pcr-dev/drafts.db
       │
       ▼
   pcr bundle "name"                  (TUI: select drafts, press b → enter)
       │
       ▼
   pcr push      ────▶ pcr.dev      (reviewers comment on prompts as they would on code)

What gets captured

| Source | Captured | |---|---| | Cursor | Agent / ask / plan turns, model, mode, file attribution, periodic git diff | | Claude Code | Full prompt + response, every tool call, permission mode, project | | VS Code Copilot Chat | Prompt + response, tool calls, including unsaved-window chats |

Each prompt is annotated with project, branch, commit, model, mode, and (when available) the diff it produced.

Commands

| Command | What it does | |---|---| | pcr login / pcr logout | Authenticate / sign out | | pcr init | Register the current git repo | | pcr start | Live capture (TUI by default; --plain for line mode) | | pcr status | Auth · projects · pipeline overview | | pcr log | Captured prompts and bundles for the current repo | | pcr show <n> | Open one draft in the full-screen browser | | pcr bundle [name] | Open the interactive bundle browser (name pre-fills the modal) | | pcr push | Upload sealed bundles to pcr.dev | | pcr pull <id> | Restore a pushed bundle to local drafts | | pcr gc | Reclaim local-store space | | pcr help | Interactive command browser |

Run pcr <cmd> --help for examples. Full reference at pcr.dev/docs.

Live dashboard

pcr start runs a ratatui TUI showing every watcher's status, your registered projects, the live event log, and the draft → bundled → pushed pipeline:

PCR.dev · start · v0.2.7  ✓ [email protected]                            14:08:42

  Capturing — 7 exchanges this session, 3 unbundled across 2 projects   ▁▃▆█▇▅▂

┌─ Watchers ──────────────────────────────────────────────────────────────────┐
│ ●  Cursor        ready     ~/.cursor/projects             fsnotify + scan   │
│ ●  Claude Code   ready     ~/.claude/projects             fsnotify + 1s     │
│ ◎  VS Code       waiting   …/User/workspaceStorage        waiting for tool  │
└─────────────────────────────────────────────────────────────────────────────┘
┌─ Events · 7 captured this session ──────────────────────────────────────────┐
│ 14:08:33  ●  pcr-dev   "fix the diff viewer color contrast"   Write×2       │
│ 14:08:21  ●  cli       "rewrite display module to route via mpsc"           │
│ 14:07:50  ●  pcr-dev   "add EmptyState primitive to /projects"   Edit×3     │
└─────────────────────────────────────────────────────────────────────────────┘
  ↑↓/jk project  v verbose  p pause  r refresh  q quit

Falls back to plain stderr lines when stdout isn't a TTY, CI=1, NO_COLOR is set, or --plain is passed.

CI / agent use

pcr is built to behave correctly whether a human or an LLM is at the terminal.

  • --plain disables the TUI; output stays on stderr.
  • --json emits machine-readable JSON on stdout.
  • Auto-detects non-TTY stdio, CI, NO_COLOR, CURSOR_AGENT, etc., and behaves as if --plain were passed.
  • Stable exit codes: 0 success · 2 usage · 10 auth required · 11 network · 13 not found · 40 interactive unavailable · 50 not implemented.
pcr --json status
pcr --plain bundle "agent run" --select all && pcr --plain push   # plain mode keeps --select for scripts

Privacy

  • Everything lives in ~/.pcr-dev/ until you explicitly run pcr push.
  • Reads session files Cursor / Claude Code / Copilot already write to disk. No clipboard access, no keylogging, no editor extension, no patches to your AI tool.
  • TLS-only push (reqwest + rustls); per-user CLI tokens; row-level security on the server side.
  • No telemetry beyond what you push.

Build from source

Rust 1.82 or newer (MSRV). The dev rust-toolchain.toml pins a current stable release; rustup will install it on demand. Zero C dependencies — rusqlite uses the bundled SQLite, reqwest uses rustls-tls. A clean checkout compiles offline.

git clone https://github.com/pcr-developers/cli.git
cd cli
cargo build --release -p pcr-cli
cargo test --workspace
./target/release/pcr help

The npm package ships as a Node native addon (a .node file loaded into node.exe) rather than a standalone executable, so it works under Windows AppLocker / WDAC policies that block unsigned executables in user-writable directories. See crates/pcr-napi/NPM-INTERNALS.md for the technical details.

Repository layout

cli/
├── crates/
│   ├── pcr-core/   # all logic: capture, store, supabase, TUI, commands
│   ├── pcr-cli/    # standalone-binary entry point (Homebrew + Releases)
│   └── pcr-napi/   # Node-API bridge (used by `npm install -g pcr-dev`)
├── .github/workflows/release.yml
├── AGENTS.md       # contribution guide for AI assistants and humans
├── RELEASING.md    # how a release is cut end-to-end
└── README.md

Contributing

Issues and PRs welcome. Please read AGENTS.md first — it documents the line-mode output discipline (must stay byte-stable for golden tests), source-watcher invariants, and the conventions for both human and AI contributors.

Good first issues are tagged good first issue. Architectural changes should start with a discussion thread before a PR.

Support

License

Apache 2.0.