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

claude-roast

v0.2.0

Published

Roasts how badly you use Claude Code, based on your ~/.claude history. The opposite of Claude Code Insights.

Readme

claude-roast

The opposite of Claude Code Insights. Reads your ~/.claude history and tells you, in detail, how badly you use Claude Code.

npx claude-roast

No install. No API key. Reads only your local history, then shells out to your existing claude CLI (claude -p) to write the actual roast — using whatever auth you've already set up for Claude Code. Only a stats summary is sent (no prompt content).


What it measures

Mined from ~/.claude/history.jsonl and session transcripts:

| Category | What it catches | | --- | --- | | Prompt habits | average length, one-word prompts, pasted blob count | | Attitude | corrections (no, wrong, actually), lazy fix it prompts, profanity, all-caps rants, apologies (yes, to the AI) | | Overprompting | ultrathink / think harder instances, IMPORTANT shouts, very very pile-ons | | Danger zone | --no-verify, git reset --hard, git push --force, rm -rf | | Time patterns | late-night sessions, weekend prompts, hourly histogram, longest streak | | Slash commands | what you actually reach for | | Top projects | where the prompts go | | Tool pain | tool failures, permission denials |

Then it ships the numbers (not the prompts) to an LLM and asks for a roast.

Usage

# Default: mean severity, all history
npx claude-roast

# Severity dial
npx claude-roast --severity gentle
npx claude-roast --severity mean      # default
npx claude-roast --severity nuclear

# Scope
npx claude-roast --days 30
npx claude-roast --project iqai-prediction

# Just stats, no model call
npx claude-roast --dry-run

# Generate anti-CLAUDE.md to ./CLAUDE.roast.md
npx claude-roast --rules

# Generate a shareable HTML report (default ./roast.html)
npx claude-roast --html
npx claude-roast --html ./out/roast.html

# Machine-readable
npx claude-roast --json

# Override the model passed to `claude -p`
npx claude-roast --model claude-sonnet-4-6

Requirements

You need the claude CLI on your PATH. That's it — no API keys, no config file. claude-roast shells out to claude -p and uses whatever auth you've already set up for Claude Code.

--dry-run, --json, --rules, and --html (without a roast) never spawn claude and work without it installed.

HTML report

--html writes a self-contained, dark-themed page with the roast, a stats grid, an SVG hour histogram, top projects, and your favorite slash command. Single file, no external CSS or JS — open it, share it, screenshot it.

Privacy

  • Everything runs locally.
  • The roast call sends aggregated counters and short samples (5 one-word prompts, 5 corrections, etc.) — never your full prompt content or code.
  • --dry-run, --json, --rules, and --html (without a roast) never hit the network at all.

How it's built

  • TypeScript, ESM, Node ≥ 20
  • claude -p — the roast call shells out to your local Claude Code CLI; no API keys, no SDK
  • Zod — single source of truth for schemas (history entries, session messages, CLI options, metrics)
  • picocolors + yocto-spinner — modern, tiny terminal output (e18e)
  • commander — CLI parsing
  • tsup — single-file ESM bundle

The metrics layer is split into per-category extractors (collectPromptHabits, collectAttitude, collectDanger, …) so it's easy to add new sins. PRs welcome.

Inspired by

@aidenybai's Claude Doctor — same shape (read ~/.claude, point out the patterns), opposite tone (roast, not therapy).

License

MIT