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

favz-cli

v0.2.0

Published

See how your AI agent setup compares with public ones. Scans locally, sends nothing unless you say yes, never installs anything.

Readme

favz

See how your AI agent setup compares with public ones.

npx favz-cli

It reads your Claude Code, Cursor and VS Code agent config. It shows how your setup compares, and what setups like yours run that you don't, with the counts behind each line. If you agree to send a short summary, you also get a class and a level, and a timeline of how your setup grows. The data comes from Favz, a random sample of 2,039 public GitHub repos.

npx favz-cli               # the current folder, plus your own setup
npx favz-cli ~/Projects    # a folder of projects: it and the folders directly inside it

What it reads

  • ~/.claude.json, ~/.claude/settings.json, ~/.cursor/mcp.json
  • ~/.claude/skills, ~/.claude/agents, ~/.claude/commands (names only)
  • In each project folder: .mcp.json, .cursor/mcp.json, .vscode/mcp.json, .claude/

From each file it keeps tool names, such as mcp:npm:@playwright/mcp. Env values, headers, arguments and file contents are dropped as the file is read. Every name then passes a check for secret-looking text.

What it sends

For the comparison and the suggestions, nothing. It downloads one public file, https://favz.co/known.json, and does that work on your machine.

Your class and level live on a Favz profile, at a private link. To get them you agree to send a summary. The command shows it first and asks. It holds:

  • tool names Favz already publishes, such as mcp:npm:@playwright/mcp
  • a count per kind of everything else. A skill you wrote yourself is "1 other skill", never a name.
  • the number of project folders that had agent config. No folder names, no paths.

The server refuses any name it does not already publish, and works the level out itself. It keeps no IP addresses and no request log. npx favz-cli --delete removes the profile and its timeline.

It never installs anything.

The level and the timeline

The level is a game, not a measurement. It runs from 1 to 30. Up to 20 comes from your setup: how many kinds of tool you use, how many tools, how many you made yourself, how rare your public tools are, and how many are rising in the sample. Up to 10 more comes from time: one for each month after the first in which you ran the command. Only the server knows those dates, so they cannot be faked. The rules are in lib/score.js.

Each run adds one line per day to your timeline: the day, level, class and counts. That is how a level 1 Rogue becomes a level 30 Enchanter.

Development

npm test

No dependencies. lib/names.js and lib/guard.js are ports of the Python rules Favz uses to build its public dataset. test/vectors.json holds cases written out by that Python code, and the tests here must match them. test/make_vectors.py needs the private data pipeline and is kept for reference. server/profile_server.js is the service behind the profile pages. skill/SKILL.md is the agent skill served at https://favz.co/skill.md.

Licence

MIT