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

onboarding-map

v0.6.0

Published

An onboarding map for any subject: a territory to recognise, a route to follow. Bring your own data; your coding agent writes it.

Readme

onboarding-map

An onboarding map for any subject: a radial map of everything a newcomer will meet, with one path through it, walked by doing first and reading after. You describe the subject in one file and the package renders it as a static site — write it yourself, or give your notes, slides and docs to a coding agent and let it draft the map for you.

An onboarding map for a cloud team: regions of the map around a centre, the route of the first stage highlighted, and the stage panel with the goal as a diagram

Documentation — the user guide, two worked examples shown with their data, and the contributor guide.

There is no CMS and nothing to host beyond static files: the map is one file (map.ts or map.json), the CLI checks it, and a reader's progress stays in their own browser.

npx onboarding-map init my-map            # asks which coding agents get the skills; or --target, --template physics
cd my-map && npm install
npx onboarding-map dev                    # http://localhost:4321, reloads on save

The skills go where your agent looks for them: --target claude (.claude/skills, Claude Code), agents (.agents/skills, Codex and other tools following the Agent Skills standard), codex (.codex/skills, Codex's older path), a comma list of these, all or none. Without --target the CLI asks; in a non-interactive shell it needs the flag.

Then ask your agent, e.g. “turn these notes into an onboarding map” or “refresh the stale content”.

Commands

| Command | What it does | | ---------------- | ------------------------------------------------------------------------------------------------------------------- | | init [dir] | Start a project: map.ts, config, package.json, agent skills | | dev | Serve the map; reload on save; list validation problems in the page | | build | Validate and write a static site to dist/ (map.json + the app) | | validate | Check every reference; exit 1 on errors | | changelog | What changed since a git revision (--against, default HEAD), as Markdown for review | | audit | Stale or unfinished content: TODO links, missing sources, updated source documents; --check-urls for dead links | | schema | The JSON Schema, for map.json files | | skills install | (Re)install the agent skills (--target, as for init) and point to them from AGENTS.md |

validate, changelog and audit take --json. Every problem has a path (nodes.git, stages.setup) so an agent can find what to fix.

The map file

map.ts (export default defineMap({ … })) or map.json. Types and helpers come from the package: defineMap, docLink, todoLink, ref. The model is documented in the types (OnboardingMap in src/core/model.ts) and, for agents, in skills/onboarding-map-author/SKILL.md.

Requires Node 22.18 or later (for loading map.ts without a build step).

Developing the package

npm install
npm run dev      # the app, serving ONBOARDING_MAP (default: templates/physics.ts) as /map.json
npm run build    # dist/core + dist/cli (tsc), schema/, dist/app (SvelteKit static shell)
npm run check && npm run lint

The CLI is src/cli (citty), the data model and checks are src/core, and the app is src/routes + src/lib. A map project imports src/core as onboarding-map; the CLI copies dist/app next to its map.json.

License

MIT