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

reddit-scrutinizer

v0.5.0

Published

Simulate Reddit reactions to your codebase before you post. Uses Claude to generate realistic community feedback in the voice of any subreddit.

Downloads

329

Readme

Reddit Scrutinizer

Bun TypeScript Claude API

Simulate Reddit reactions to your codebase before you post. Uses Claude to generate realistic community feedback in the voice of any subreddit.

How it works

  1. Scan — walks your project, detects languages/stack, reads key files into a project dossier
  2. Discover — builds a file index, scans for risk patterns (eval, innerHTML, TODO/FIXME, etc.)
  3. Plan — 🤖 AI picks the most interesting code regions to read based on the dossier and risk signals
  4. Synthesize — 🤖 AI reads those code snippets and produces an evidence pack (strengths, risks, comment ammo)
  5. Post — 🤖 AI generates a realistic Reddit submission as if you posted your project
  6. Agenda — 🤖 AI analyzes critique themes the community would focus on, grounded in the evidence
  7. Comments — 🤖 AI generates a threaded comment tree with votes, flairs, awards, and OP replies
  8. Output — assigns scores/timestamps, writes structured JSON, and optionally opens a browser UI
flowchart TD
    codebase[Your Codebase] --> scan[1. Scan — languages, stack, readme, license]
    scan --> discover[2. Discover — file index + risk pattern scan]
    discover --> plan["3. Plan 🤖 — AI picks ≤12 code regions to read"]
    plan --> synthesize["4. Synthesize 🤖 — strengths, risks, comment ammo"]
    synthesize --> vibe
    vibe{{Vibe Pack — tone, archetypes, pet topics}} --> post["5. Post 🤖 — title, body, author, flair"]
    vibe --> agenda
    vibe --> comments
    post --> agenda["6. Agenda 🤖 — 8–15 critique themes with stances"]
    agenda --> comments["7. Comments 🤖 — threaded tree with OP replies"]
    comments --> output[8. Output — scores, timestamps, JSON + browser UI]

Prerequisites

Install

# Install globally (bun runtime is bundled automatically)
npm install -g reddit-scrutinizer

# Or run directly without installing
npx reddit-scrutinizer ./my-project --subreddit rust

# If you have bun installed, you can also use:
bun add -g reddit-scrutinizer
bunx reddit-scrutinizer ./my-project --subreddit rust

Usage

# Set your API key
export ANTHROPIC_API_KEY=sk-ant-...

# Scan a project and simulate r/rust feedback
reddit-scrutinizer ./my-project --subreddit rust

# Snarky r/programming with 60 comments, auto-open browser
reddit-scrutinizer ./my-project --subreddit programming --comments 60 --style snarky --open

# Reproducible run with a fixed seed
reddit-scrutinizer ./my-project --subreddit typescript --seed 42

# Use a different theme
reddit-scrutinizer ./my-project --subreddit programming --theme hackernews --open
reddit-scrutinizer ./my-project --subreddit programming --theme producthunt --open
reddit-scrutinizer ./my-project --subreddit programming --theme twitter --open
reddit-scrutinizer ./my-project --subreddit programming --theme bluesky --open
reddit-scrutinizer ./my-project --subreddit programming --theme qdb --open

# View a previous result
reddit-scrutinizer serve ./reddit-scrutiny.json --open

# View with a different theme
reddit-scrutinizer serve ./reddit-scrutiny.json --theme hackernews --open

Options

| Flag | Default | Description | | -------------------- | -------------------------------- | ------------------------------------------------------------------------ | | --api-key <key> | — | Anthropic API key (overrides ANTHROPIC_API_KEY env var) | | --subreddit <name> | programming | Target subreddit voice | | --comments <n> | 40 | Number of comments to generate | | --max-depth <n> | 4 | Max reply nesting depth | | --max-replies <n> | 3 | Number of OP replies | | --style <mode> | balanced | balanced, snarky, supportive, hostile | | --theme <name> | reddit | UI theme: reddit, hackernews, producthunt, twitter, bluesky, qdb | | --model <name> | claude-sonnet-4-5-20250929 | Anthropic model | | --out <file> | ./reddit-scrutiny.json | Output file path | | --open | false | Auto-open browser | | --port <n> | 3000 | UI server port | | --no-ui | — | Skip web UI | | --temperature <n> | 0.8 | Generation temperature | | --seed <n> | — | Random seed for reproducibility | | --max-tokens <n> | auto-scaled (up to 64000) | Max output tokens per API call. Auto-scales based on comment count | | --batch-size <n> | 50 | Comments per batch. Large comment counts are split into batches |

Available subreddits

Each subreddit has its own vibe pack defining tone, pet topics, taboos, commenter archetypes, and typical replies.

cpp · csharp · devops · experienceddevs · gamedev · golang · haskell · java · javascript · kotlin · linux · lisp · localllama · machinelearning · php · programming · python · reactjs · rust · selfhosted · typescript · webdev

Serve command

View results from a previous run without re-generating:

reddit-scrutinizer serve ./reddit-scrutiny.json --port 3000 --open
reddit-scrutinizer serve ./reddit-scrutiny.json --theme producthunt --open
reddit-scrutinizer serve ./reddit-scrutiny.json --theme twitter --open
reddit-scrutinizer serve ./reddit-scrutiny.json --theme qdb --open

The serve command accepts --port, --open, and --theme.