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

@smithers-orchestrator/review

v0.31.0

Published

Code review plus story-form HTML walkthrough, built on the OpenCodeReview-derived review flow

Readme

smithers review

Agent code review that reads like a story.

smithers review runs one review agent per changed file, then a narrator agent writes a walkthrough of the whole change: chapters in logical reading order, prose explaining why each group of files changed, diffs embedded at the right point in the narrative, and Mermaid diagrams wherever structure changed. The output is a single self-contained HTML file you can open, share, or publish to a hosted URL.

Pointed at a GitHub pull request, it also posts the review onto the PR: the narrative summary as the review body, and every finding as an inline comment with a ```suggestion block when there is replacement code to apply.

Findings never fail the build. smithers review reports; humans decide.

Add it to your repo

One workflow file. No secrets, no Anthropic account, no smithers checkout. The service authenticates your repo through GitHub OIDC, runs the agents on our metered inference, posts the review, and hosts the walkthrough.

  1. Register your repo. v0 accounts are operator-issued while billing is built out (early repos are subsidized). Open an issue titled review access: <org>/<repo> on smithersai/smithers or contact the maintainers.

  2. Add .github/workflows/smithers-review.yml:

name: smithers review
on:
  pull_request:
    types: [opened, synchronize, reopened, ready_for_review]
  issue_comment:
    types: [created]

permissions:
  id-token: write       # proves your repo's identity to the review service
  contents: read        # check out the PR
  pull-requests: write  # post the review

concurrency:
  group: smithers-review-${{ github.event.pull_request.number || github.event.issue.number }}
  cancel-in-progress: true

jobs:
  review:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    steps:
      - uses: smithersai/smithers/apps/review/action@main

Keep the workflow on pull_request. Never switch it to pull_request_target: the review agents execute the PR's code, and pull_request_target would hand that code elevated credentials.

  1. Trigger a review. Comment on any PR:
@smithers review

Only owners, members, and collaborators can trigger reviews. Repos registered in auto mode skip the comment and review every non-draft PR push; comment mode is the default. The mode is a server-side setting on your registration, so switching never touches your workflow file.

Reviewer quiz

High-impact changes get a short comprehension quiz: 3–6 multiple-choice questions a reviewer can answer only if they actually read and understood the change. It is honor-system — nothing blocks a merge on the score.

The quiz auto-triggers when the assessed impact is high or critical (security-sensitive paths, schema/migration changes, risky added code, critical findings, sheer size, …); the specific reasons behind the assessment are listed in the walkthrough. Force it with --quiz on, disable it with --quiz off (CLI), or set the quiz: action input.

After taking the quiz in the walkthrough, copy the attestation (your score) into a PR comment so the author knows the review was earned.

Plans and quota

Subscriptions meter reviewed PRs — a monthly per-repo PR allotment set on your registration; the status comment shows remaining quota. Re-reviewing a PR that already counted this month is free. When the quota is spent, the action skips with a notice instead of failing your checks.

Use your own subscription (optional)

If you own the repo and have a Claude or ChatGPT subscription, the review agents can run on your subscription instead of the service's metered inference. Repo registration, quota counting, and walkthrough hosting work exactly as before; only the inference moves to your seat, so your metered spend on the service stays zero.

ChatGPT (Codex) — recommended. Log in once on any machine and copy the credential into a repo secret:

codex login                      # opens the ChatGPT device-auth flow
gh secret set CODEX_AUTH_JSON < ~/.codex/auth.json

Then pass it through in the job:

  review:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    env:
      CODEX_AUTH_JSON: ${{ secrets.CODEX_AUTH_JSON }}
    steps:
      - uses: smithersai/smithers/apps/review/action@main

Claude. Mint a token with claude setup-token and set it as the CLAUDE_CODE_OAUTH_TOKEN repo secret, passed through the same way. The action prefers Codex when both secrets are present.

Use this only for repos you own. A personal subscription must not serve other people's repos: both providers' consumer terms forbid backing a multi-tenant service from one seat. For that, fund the platform API key.

Run it from the terminal

The CLI runs through the main Smithers binary against any repo on your machine. It prefers your logged-in Codex CLI (Sol for review/verification, Luna for narration/quiz) and falls back to Claude when Codex is unavailable. Run codex login for the default path; the fallback accepts a logged-in claude CLI, a CLAUDE_CODE_OAUTH_TOKEN from claude setup-token, or an ANTHROPIC_API_KEY:

bunx smithers-orchestrator review --help
# review the working tree of a repo, write .smithers-review/walkthrough.html
bunx smithers-orchestrator review /path/to/repo

# review a branch against main, open the walkthrough when done
bunx smithers-orchestrator review /path/to/repo --from main --to HEAD --open

# review one commit
bunx smithers-orchestrator review /path/to/repo --commit abc1234

# review GitHub PR #123 and post the review onto it (via gh)
bunx smithers-orchestrator review /path/to/repo --pr 123

# publish the walkthrough to the share service and print an unlisted URL
bunx smithers-orchestrator review /path/to/repo --pr 123 --publish

# no agents: deterministic story, no review findings (works offline)
bunx smithers-orchestrator review /path/to/repo --no-review --no-narrate

The standalone package bin, smithers-review, accepts the same options and remains useful for package-level testing in this monorepo.

The repo path defaults to the current directory. Run bunx smithers-orchestrator review --help for all options. --publish needs a publish service URL in SMITHERS_REVIEW_PUBLISH_URL and an API key (srk_…, operator-issued) in SMITHERS_REVIEW_PUBLISH_TOKEN; both can also be set in ~/.smithers-review.json.

The service

The hosted side is a Cloudflare Worker at https://review.jjhub.tech: session minting from GitHub OIDC tokens, an Anthropic-compatible metered inference proxy, walkthrough hosting on R2, usage accounting in D1, and a Prometheus /metrics endpoint feeding Grafana Cloud spend dashboards. Design: .smithers/specs/smithers-review-cloud.md.

Not built yet, tracked as issues: Stripe subscriptions, self-serve signup and key management, the review.smithers.sh domain.

Contributing

Architecture, the publish service, self-hosted CI setup with your own credentials, diff rendering exports, and the test suites are documented in CONTRIBUTING.md.