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

@ankitpandey2708/pinpoint

v0.3.3

Published

Local-first visual review tool that turns element-specific client feedback into draft GitHub pull requests.

Downloads

1,225

Readme

Pin Point

Local-first visual review tool. A client clicks elements on your live page, leaves plain-language comments, and submits. Pin Point maps each comment to the source file, runs Claude Code in an isolated Git worktree, and opens a draft GitHub pull request.

  • The client needs no technical knowledge, browser extension, or GitHub access.
  • Submitting feedback automatically runs the agent and opens a draft PR. The draft is the review gate — Pin Point never merges and never force-pushes.
  • The agent works only in a throwaway worktree at the review's commit; your working tree is untouched.
  • A failing build blocks the push and PR.

Requirements

  • Node.js 20+ (24 LTS recommended)
  • Git on your PATH
  • GitHub auth for PR creation — either the GitHub CLI (gh auth login), or a stored HTTPS Git credential for github.com (e.g. Git Credential Manager), which Pin Point uses to open the PR via the REST API when gh isn't available
  • Claude Code CLI (claude) authenticated — the default agent
  • A clean local Git repo with a GitHub remote

Supported projects: any framework with a dev/start/serve script in package.json (React, Next.js, Vue, Svelte/SvelteKit, Angular, Astro, Remix, …) — Pinpoint runs the repo's own dev script and previews it through a proxy — plus plain HTML/CSS/JS sites (served directly). npm, pnpm, yarn, and bun are detected from the lockfile.

Install

npx @ankitpandey2708/pinpoint <path-to-repo>   # run without installing
# or:
npm install -g @ankitpandey2708/pinpoint
pinpoint <path-to-repo>                         # omit the path to review the current repo

Usage

pinpoint <repo> inspects the repo, starts an instrumented preview, and prints two URLs. The preferred port is 7777; it steps up (7778, 7779, …) if taken.

Review link (local):    http://localhost:7777/review/<projectId>
Developer dashboard:    http://localhost:7777/dashboard?token=<devToken>

Send the review link to your client; keep the tokenized dashboard link private. Pin Point also starts a public Cloudflare tunnel and prints public URLs; if cloudflared is unavailable it falls back to local URLs and says how to enable sharing. Press Ctrl+C to stop and release the port.

From a source checkout, use npm run dev -- <path-to-repo> (no path reviews the current repo).

How it works

  1. Client opens the review link, clicks elements, comments, and submits. Drafts persist in localStorage until submission, then are stored as JSON.
  2. Fix runs automatically. Pin Point creates a worktree at the review's commit, runs Claude Code scoped to the feedback, runs the build gate, commits, pushes a pinpoint/review-* branch, and opens a draft PR.
  3. Developer watches the dashboard: per-comment source mapping, a confidence badge (direct / unresolved), and live status (preparing → running-agent → verifying → pushing → pr-opened). Failed runs can be retried.
  4. Developer decides on GitHub: merge, revise, or close the draft.

Troubleshooting

  • "working tree must be clean" — commit or stash changes before starting.
  • PR step fails — check gh auth status and that the repo has a GitHub origin.
  • Agent step fails — check the claude CLI is installed and authenticated. The job is marked failed with a sanitized reason; the worktree is kept and you can retry from the dashboard.

Data and cleanup

State is JSON under ~/.pinpoint/data/ (projects.json, reviews.json, jobs.json, redacted logs/) — one per-user store shared across runs. Preview copies and worktrees live in the OS temp dir (%TEMP%\pp\<hash> on Windows).

Remove-Item -Recurse -Force $env:USERPROFILE\.pinpoint, $env:TEMP\pp -ErrorAction SilentlyContinue

pinpoint kill stops running sessions and clears their workspaces.