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

agent-cv

v0.2.1

Published

Generate technical CVs from your local project directories using AI

Readme

agent-cv

agent-cv hero banner

agent-cv — Your code tells a story

Most profiles stop at what GitHub shows publicly. Yours also lives on disk: branches that never got pushed, work behind NDA, weekend spikes in odd stacks, years of commits under addresses you forgot. agent-cv scans a folder tree (and optionally augments from GitHub), reads git history, READMEs, and dependency markers, then asks Claude Code, Codex, Cursor, or any OpenAI-compatible API you already run to describe each project. That work runs on your machine until you publish; you choose what becomes a public page at agent-cv.dev or a markdown file you own.

Try it locally:

npx agent-cv generate ~/Projects

Or publish it to the web:

npx agent-cv publish

Example profile →

How it works

1. Try locally

No account, no sign-up. npx downloads agent-cv, finds your projects, asks which to include, and generates AI descriptions. Everything stays on your machine.

npx agent-cv generate ~/Projects

2. Like it? Publish.

One more command to put it on the web. GitHub login for your username. You review everything before it goes live.

npx agent-cv publish

3. Customize

Edit your bio, reorder projects, hide what you don't want to show.

agent-cv.dev/yourusername/edit

Privacy

| Published | Never published | |---------------|---------------------| | Project names you included, AI-written descriptions, stacks, coarse activity | Paths on your machine | | Commit counts and dates | Source code or file contents | | GitHub links (public repos only) | Private repo URLs, secrets, .env, credentials | | | Raw email addresses |

Repo and CLI behavior are inspectable on GitHub. Legal: Terms of Service.

Features

Descriptions from real repos, not boilerplate
The model sees your tree and metadata; output is specific to that project.

Sees what GitHub cannot
Git history and folders are local first — private and internal work counts.

Nothing ships without you
Pick emails and projects before analysis; publish is explicit.

Re-run when life moves
New quarter, new job, new side project — run again; the profile catches up.

Also

Stack over time — languages, frameworks, activity patterns.

npx agent-cv stats ~/Projects

Markdown out — job forms, README “about me”, anywhere plain text wins.

npx agent-cv generate ~/Projects --output cv.md

Try it

No account. Runs locally.

npx agent-cv generate ~/Projects

npx agent-cv@latest … pins the newest publish if your cache is stale. Prefer a global install? npm install -g agent-cv, then agent-cv … instead of npx.

Commands

| Command | What it does | |---------|----------------| | agent-cv generate [dir] | Discover → analyze → markdown (stdout or --output) | | agent-cv publish [dir] | Full pipeline → agent-cv.dev (device login when needed) | | agent-cv login | Save GitHub credentials locally, no publish | | agent-cv config | Display name, bio, socials, telemetry prefs, email privacy | | agent-cv stats [dir] | Tech evolution from inventory + scan | | agent-cv diff <dir> | New / updated / removed since last scan | | agent-cv unpublish | Remove your page from agent-cv.dev |

All flags and AI: docs/CLI.md.

Inside one run

When you pass a directory (or resolve one from saved scan paths), generate and publish both run the same Pipeline component: scan, interactive pickers, per-project analysis, then a finishing step (significance tiers + profile insights) before the command-specific ending.

flowchart TD
  P["Directory on disk ± optional GitHub enrich"] --> S["Scan + merge saved inventory"]
  S --> K["Emails · projects · AI"]
  K --> A["Analyze projects · cache · privacy-aware context"]
  A --> F["Finish · tiers · profile insights"]
  F --> C{Command}
  C -->|generate| M[Render Markdown]
  C -->|publish| U["Confirm if needed → sync to agent-cv.dev"]

publish with no directory skips the pipeline: GitHub login, load the last saved inventory from local storage, confirm (unless -y), then sync — intended when you already ran a full scan/analyze (e.g. via generate) and only want to push.

generate may offer optional GitHub sign-in up front (cloud scan / later publish); you can skip it and stay local.

Defaults stick across runs so repeat visits feel like “update my profile”, not a full wizard. Persistent data lives under ~/.agent-cv/: pglite-data/ (projects and synced profile via PGlite) and state.json (scan paths, last agent, email picks). Override the base dir with AGENT_CV_DATA_DIR.

Local development: CONTRIBUTING.md.

License

Proprietary. Source available for reference. Use is subject to the Terms of Service.