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

agentwrapped

v0.1.4

Published

Spotify Wrapped for your coding agents — reads local usage via ccusage, builds an anonymized recap, and uploads it for a shareable link.

Readme

agentwrapped

npm

Spotify Wrapped for your coding agents. One command reads your local coding-agent usage, builds an anonymized recap, and gives you a shareable link.

npx agentwrapped

No install, no sign-up, no API key. (bunx agentwrapped works too.)


🔒 Local & anonymized by design

Two things matter most here, so they come first:

Everything is computed locally. agentwrapped reads your usage through ccusage (bundled as a dependency), which reads each agent's own local data directories on your machine (~/.claude, ~/.codex, …). It runs fully offline — all the counting and aggregation happens on your device. Nothing is sent anywhere while the recap is built.

Only an anonymized digest leaves your machine. To render your shareable page, one small JSON "digest" of aggregate numbers is uploaded to agentwrapped.com. That's the only network call. You can print the exact payload first — see Preview before you share.

What's in the digest

Numbers only — nothing that identifies you, your work, or your conversations:

| Uploaded ✅ | Never read or uploaded ❌ | | --- | --- | | Token counts (input / output / cache), total and per agent | Your prompts or the agent's replies — no message content | | Model names + per-model token totals | Your code, file contents, or diffs | | Which agent tools you used (claude, codex, …) | File paths, project names, repo or directory names | | Estimated retail value (list-price $) | Usernames, hostnames, machine info | | Session stats: count, longest, active minutes, late-night, longest streak | API keys or credentials | | Activity window (first / last timestamps) | Anything ccusage doesn't expose |

ccusage only ever exposes accounting numbers — tokens, cost, models, and activity timestamps — never transcript content. The digest's source-path list is uploaded empty, so even the local directories your data came from don't leave your machine.


Preview before you share

The default command uploads so it can hand you a link. To see your recap — or the exact upload payload — without sending anything:

npx agentwrapped --summary    # human-readable digest, LOCAL ONLY (no upload)
npx agentwrapped --json       # the exact JSON that would be uploaded, LOCAL ONLY

Neither uploads unless you add --upload. Want to exercise the whole flow with zero network at all? Add --mock.


Commands & flags

agentwrapped                 # discover → build → upload → print your share link
agentwrapped --summary       # full human-readable digest (local only)
agentwrapped --json          # full digest as JSON, the upload payload (local only)
agentwrapped --summary --upload   # …and also upload + print the link
agentwrapped --all           # all time (default is the past 30 days)
agentwrapped --month 2026-05 # scope to a specific month
agentwrapped --mock          # use a mock API — no network
agentwrapped --api <url>     # point at a different API (e.g. local dev)

agentwrapped list            # wraps you've created on this machine
agentwrapped delete <id>     # delete one of your wraps

By default the recap covers the past 30 days.


You stay in control of what you share

Every upload returns a private manage token, saved locally at ~/.agentwrapped/wraps/<id>.json. It's the only thing that can delete that wrapped — it's never embedded in the public page.

agentwrapped list            # show everything you've created here
agentwrapped delete <id>     # remove it from agentwrapped.com using the stored token

Claiming a spot on the public leaderboard is optional and uses GitHub sign-in; your manage token is sent only to the agentwrapped API, never to the browser.


Supported agents

Anything ccusage can read locally, including:

claude · codex · opencode · amp · droid · codebuff · hermes · pi · goose · openclaw · kilo · kimi · qwen · copilot · gemini

Agents you haven't used are simply skipped — only tools with real local data show up in your recap.


Requirements

  • Node.js ≥ 18 (or Bun). npx / bunx handle the rest.
  • Some local usage from at least one supported coding agent on this machine.

Environment variables

Optional escape hatches:

  • AGENTWRAPPED_ROOTS — extra data directories to scan, :/,-separated.
  • AGENTWRAPPED_CCUSAGE_BIN — point at a specific ccusage binary.
  • AGENTWRAPPED_API_URL — override the API origin.
  • AGENTWRAPPED_HOME — override where the local .agentwrapped store lives.

License

MIT