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

create-packkit

v1.5.0

Published

Highly configurable scaffolder for modern npm packages and CLIs — pick your stack (TS/JS, bundler, tests, linter, CI, releases) from a CLI or a web configurator.

Readme

Packkit 📦

A highly configurable scaffolder for modern npm packages and CLIs — pick your stack from a CLI or a web configurator, and get a ready-to-ship repo.

Configure on the web npm License: MIT

Most scaffolders lock you into one stack, one language, and the terminal. Packkit lets you choose — TypeScript or JavaScript, library or CLI, ESM/CJS/dual, your bundler, test runner, linter, git hooks, release flow, GitHub Actions and more — and it works from a CLI or a browser page that downloads your project as a zip.

Quick start

# interactive wizard
npm create packkit@latest
# or with npx
npx create-packkit

# skip the wizard with a preset
npx create-packkit ts-lib my-lib
npx create-packkit cli my-tool
npx create-packkit --preset full my-pkg --pm pnpm

Then cd, and you already have a working project — build, test, and lint all pass out of the box.

Or configure it on the web

No install needed: danmat.github.io/create-packkit — tick the options, preview the file tree, and download a zip (or copy the equivalent npx create-packkit command). Everything runs in your browser.

What you can pick

| Area | Options | |---|---| | Language | TypeScript (strict) · JavaScript (ESM) | | Module format | ESM · CJS · dual (proper exports map) | | Target | Library · CLI tool · HTTP service (Hono) · App (Vite SPA) · any combination | | Framework | None · React · Vue · Svelte (component libraries or apps) | | Storybook | optional, for React / Vue / Svelte component libraries | | Bundler | tsup · tsdown · unbuild · rollup · none (tsc) · optional minify | | Tests | Vitest · Jest · node:test · none (+ coverage) | | Lint/format | ESLint + Prettier · Biome · oxlint · none | | Git hooks | simple-git-hooks · husky + lint-staged · lefthook · none | | Release | Changesets · release-it · np · none | | GitHub Actions | CI · npm publish (provenance) · Pages · CodeQL · Codecov · stale bot | | Deps | Renovate · Dependabot · none | | Repo | LICENSE · community files · AGENTS.md + CLAUDE.md · VS Code · .editorconfig | | Monorepo | optional pnpm/npm/yarn workspace with Turborepo + Changesets + example packages | | Package manager | npm · pnpm · yarn · bun |

Presets

ts-lib · js-lib · ts-cli / cli · react-lib · react-lib-js · react-app · vue-lib · vue-app · svelte-lib · svelte-app · node-service · monorepo · oss · minimal · full — named bundles of the options above. See the roadmap for what's next.

Team profiles: save a partial config as packkit.config.json (or any file) and reuse it with npx create-packkit my-lib --from ./packkit.config.json — flags still override the file.

For AI agents & automation

Packkit is safe to drive non-interactively — every option is a flag, so no prompts are needed. Agents can introspect the whole interface as JSON:

npx create-packkit --schema      # all options, presets, and aliases as JSON
npx create-packkit my-lib ts-lib --no-install --no-git   # deterministic scaffold

There's also an llms.txt (served at danmat.github.io/create-packkit/llms.txt) describing the commands for LLMs.

MCP serverpackkit-mcp exposes Packkit as a native Model Context Protocol tool (schema / preview / scaffold). Add to your agent's MCP config:

{ "mcpServers": { "packkit": { "command": "npx", "args": ["-y", "packkit-mcp"] } } }

How it works

Packkit is a pure config → { files } core that runs in both Node and the browser:

  • the CLI writes the files to disk, runs git init, and installs dependencies;
  • the web configurator zips the same files client-side (no server).

Both drive from one options schema (src/core/options.js), so the CLI and the web page always stay in sync.

Staying fresh

Two GitHub Actions keep the templates honest:

  • Dependency freshness — a weekly check flags any version Packkit writes into generated projects that's fallen a major behind (versions Dependabot can't see), and opens an issue.
  • Integration — on any change to generation logic or a template dependency, it generates every preset, installs it, and runs its real checks (build/test/lint, and actually starts services) — so an update can't silently break the projects you'd get.

License

MIT © DanMat