Highly configurable scaffolder for modern npm packages & CLIs — pick your stack from a CLI or a web configurator, download as a zip.
claude mcp add create-packkit -- npx -y npx{
"mcpServers": {
"create-packkit": {
"command": "npx",
"args": ["-y", "npx"]
}
}
}MCP Servers overview
# 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. [](https://www.npmjs.com/package/create-packkit) [](https://www.npmjs.com/package/create-packkit) [](https://github.com/DanMat/create-packkit/actions/workflows/ci.yml) [](https://packagephobia.com/result?p=create-packkit) [](LICENSE) <br/> [](https://danmat.github.io/create-packkit/) [](mcp) [](https://danmat.github.io/create-packkit/llms.txt) [](CONTRIBUTING.md) 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 ```sh # 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. ## Create the repo, not just the folder Packkit can create the remote and push the first commit, so you don't have to make an empty repo in a browser first: ```sh # create it on GitHub (private) and push npx create-packkit ts-lib my-lib --github # public instead npx create-packkit ts-lib my-lib --github --public # any other host — GitLab, Bitbucket, Gitea, self-hosted npx create-packkit ts-lib my-lib --git-remote git@bitbucket.org:me/my-lib.git ``` `--github` shells out to the [GitHub CLI](https://cli.github.com), so **Packkit never asks for, reads, or stores a token** — `gh` already holds your credentials. Created repos are **private unless you pass `--public`**. This also fixes your links: the repository URL is baked into `package.json` and the README's CI badges when the files are generated, so letting Packkit resolve it up front means the badges point somewhere real from the first commit. ### Scaffolding into a repo you already have Already cloned an empty repo, or started some work? `--merge` scaffolds around what's there: ```sh git clone git@github.com:me/my-lib.git && cd my-lib npx create-packkit ts-lib my-lib --here --merge ``` **Existing files are never overwritten.** Anything that collides is left alone and reported, so you can diff at your leisure. (A directory containing only `.git` counts as empty — a fresh clone scaffolds without needing `--merge` at all.) ## Or configure it on the web No install needed: **[danmat.github.io/create-packkit](https://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. ## Options reference Every flag, its values (**default** in bold), and what it's for. Prefer the interactive [web configurator](https://danmat.github.io/create-packkit/) — the same descriptions appear as you hover. _This table is generated from the schema (`npm run gen:reference`)._ <!-- OPTIONS:START --> ### Package | Flag | Values | What it does | |---|---|---| | `--name` | — | The npm package name. Scoped names like `@you/pkg` are fine. | | `--description` | — | One-line summary — used in package.json and the README heading. | | `--author` | — | Your name (and optionally email/URL). Populates package.json + LICENSE. | | `--keywords` | — | Comma-separated npm keywords to help people discover the package. | | `--repo` | — | Git repository URL. Wires up repository/bugs/homepage links and CI badges. | ### Core | Flag | Values | What it does | |---|---|---| | `--language` | **ts** · js | TypeScript (strict, recommended) or plain ESM JavaScript. TS gives you types, editor help, and generated .d.ts for consumers. | | `--module` | **esm** · dual · cjs | How the package is consumed. ESM-only (default) is the modern, leanest choice — Node 20.19+/22.12+ can `require()` ESM. Pick dual only if you must support older CJS-only consumers; cjs-only is rarely needed. | | `--server` | **hono** · fastify · express | For the service target: Hono (fast, web-standard, tiny — default), Fastify (batteries-included, plugins, schema validation), or Express (ubiquitous, huge ecosystem). | | `--target` | **library** · cli · service · app | What you are building — mix and match: a library (importable package), a CLI (ships a bin), an HTTP service, or an app (Vite SPA). | | `--monorepo` | on / off (default: **off**) | Generate a pnpm + Turborepo workspace with two linked example packages and Changesets. Only worth it when ≥2 packages share code. | | `--framework` | **none** · react · vue · svelte | UI framework for component libraries and apps: React, Vue, or Svelte (or none for a plain package). | | `--pm` | **npm** · pnpm · yarn · bun | Which package manager the scripts, lockfile, and CI target: npm, pnpm, yarn, or bun. | | `--node` | 22 · **24** · 26 | Minimum Node line to support. Choices track Node’s own release schedule (Active LTS is the default); this sets engines + .nvmrc. | ### Build | Flag | Values | What it does | |---|---|---| | `--bundler` | **tsup** · tsdown · unbuild · rollup · none | How the library is built. tsup (default, esbuild-fast) and tsdown suit most libs; unbuild for zero-config; rollup for full control; none = tsc-only (or no build). | | `--minify` | on / off (default: **off**) | Minify the build output. Best for CLIs and browser bundles; usually unnecessary for libraries (consumers minify). | | `--no-sourcemaps` | on / off (default: **on**) | Ship source + JS/declaration maps so consumers can step into and go-to-definition on your original code when debugging. On by default for libraries. | ### Quality | Flag | Values | What it does | |---|---|---| | `--test` | **vitest** · jest · node · none | Test runner: Vitest (fast, Vite-native, default), Jest (classic, huge ecosystem), or Node’s built-in node:test (zero deps). | | `--no-coverage` | on / off (default: **on**) | Collect code-coverage reports (v8) and add a `coverage` script. Pairs with the Codecov workflow. | | `--storybook` | on / off (default: **off**) | Add Storybook to develop and document components in isolation. Component libraries only. | | `--e2e` | on / off (default: **off**) | Add Playwright end-to-end tests for app targets: a config that boots your dev server, an example spec, and a CI job. | | `--env` | on / off (default: **off**) | Type-safe environment variables: a Zod-validated `src/env.ts` that fails fast on misconfig, plus a `.env.example`. For services and CLIs. | | `--pkg-checks` | on / off (default: **off**) | Verify the published package is correct with publint + are-the-types-wrong (exports map, types resolution, ESM/CJS). Highly recommended for libraries. | | `--knip` | on / off (default: **off**) | Find unused files, dependencies, and exports so the project doesn’t accumulate dead weight. | | `--size-limit` | on / off (default: **off**) | Add a bundle-size budget (size-limit) that measures your built entry and fails CI if it exceeds the limit — catches accidental bloat. | | `--doctor` | on / off (default: **off**) | Add an env doctor (`npm run doctor`) that warns when the local Node / package manager don’t match what the project expects. Warn-only. | | `--lint` | **eslint-prettier** · biome · oxlint · none | Linter + formatter: ESLint + Prettier (default, most compatible), Biome (one fast tool for both), or oxlint (Rust-fast linting). | | `--hooks` | **simple-git-hooks** · husky · lefthook · none | Pre-commit hooks that run lint-staged: simple-git-hooks (tiny, default), husky (popular), or lefthook (fast, parallel). | ### Release | Flag | Values | What it does | |---|---|---| | `--canary` | on / off (default: **off**) | Add a workflow that publishes snapshot builds (x.y.z-canary-<hash>) to a `canary` dist-tag so people can test unreleased changes. Requires Changesets. | | `--release` | **changesets** · release-it · np · none | How you version + publish: Changesets (default, great for libraries and monorepos), release-it, np, or none. | | `--jsr` | on / off (default: **off**) | Also publish to JSR, the TypeScript-first registry. For plain ESM TypeScript libraries. | ### CI / CD | Flag | Values | What it does | |---|---|---| | `--workflows` | **ci** · **npm-publish** · pages · codeql · codecov · stale | GitHub Actions to include: ci (lint/test/build), npm-publish (provenance), pages (deploy Storybook/site), codeql (security), codecov (coverage), stale. | | `--deps` | **renovate** · dependabot · none | Automated dependency updates: Renovate (default, powerful) or Dependabot (built into GitHub). | ### Repository | Flag | Values | What it does | |---|---|---| | `--license` | **MIT** · Apache-2.0 · ISC · none | Open-source license for the LICENSE file and package.json (MIT recommended), or none. | | `--no-community` | on / off (default: **on**) | Community health files: CONTRIBUTING, CODE_OF
What people ask about create-packkit
What is DanMat/create-packkit?
+
DanMat/create-packkit is mcp servers for the Claude AI ecosystem. Highly configurable scaffolder for modern npm packages & CLIs — pick your stack from a CLI or a web configurator, download as a zip. It has 1 GitHub stars and was last updated yesterday.
How do I install create-packkit?
+
You can install create-packkit by cloning the repository (https://github.com/DanMat/create-packkit) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is DanMat/create-packkit safe to use?
+
DanMat/create-packkit has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.
Who maintains DanMat/create-packkit?
+
DanMat/create-packkit is maintained by DanMat. The last recorded GitHub activity is from yesterday, with 0 open issues.
Are there alternatives to create-packkit?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy create-packkit to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/danmat-create-packkit)<a href="https://claudewave.com/repo/danmat-create-packkit"><img src="https://claudewave.com/api/badge/danmat-create-packkit" alt="Featured on ClaudeWave: DanMat/create-packkit" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface