Skip to main content
ClaudeWave

Highly configurable scaffolder for modern npm packages & CLIs — pick your stack from a CLI or a web configurator, download as a zip.

MCP ServersRegistry oficial1 estrellas0 forksJavaScriptMITActualizado today
Install in Claude Code / Claude Desktop
Method: NPX · npx
Claude Code CLI
claude mcp add create-packkit -- npx -y npx
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "create-packkit": {
      "command": "npx",
      "args": ["-y", "npx"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Casos de uso

Resumen de MCP Servers

# 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.

[![npm version](https://img.shields.io/npm/v/create-packkit?style=flat-square&logo=npm&color=cb3837)](https://www.npmjs.com/package/create-packkit)
[![npm downloads](https://img.shields.io/npm/dm/create-packkit?style=flat-square&logo=npm&color=cb3837&label=downloads)](https://www.npmjs.com/package/create-packkit)
[![CI](https://img.shields.io/github/actions/workflow/status/PackkitJS/create-packkit/ci.yml?style=flat-square&logo=github&label=CI&branch=main)](https://github.com/PackkitJS/create-packkit/actions/workflows/ci.yml)
[![install size](https://img.shields.io/badge/install%20size-tiny-44cc11?style=flat-square)](https://packagephobia.com/result?p=create-packkit)
[![License: MIT](https://img.shields.io/npm/l/create-packkit?style=flat-square&color=blue)](LICENSE)
<br/>
[![Configure on the web](https://img.shields.io/badge/⚙_configure-on_the_web-00e5ff?style=flat-square)](https://packkitjs.github.io/create-packkit/)
[![MCP server](https://img.shields.io/badge/MCP-packkit--mcp-8a5cf6?style=flat-square)](mcp)
[![llms.txt](https://img.shields.io/badge/llms.txt-✓-000000?style=flat-square)](https://packkitjs.github.io/create-packkit/llms.txt)
[![PRs welcome](https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat-square)](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.)

## Keep a project current

Every scaffolded project records what it came from in `packkit.json`. Later, from
inside the project:

```sh
npx create-packkit upgrade          # dry run: what's changed since you scaffolded
npx create-packkit upgrade --apply  # bring in the additive changes, keep your edits
```

Upgrade regenerates the project Packkit would produce today and diffs it against
disk. **`--apply` is non-destructive**: it brings in *additions* and preserves
anything that already exists but differs — because without a stored baseline it
can't tell a template change from your own edit. Replacing differing values is
opt-in, per category:

| Change                | Default `--apply` | Explicit replacement       |
| --------------------- | ----------------- | -------------------------- |
| New file              | Applied           | Applied                    |
| Changed file          | Preserved         | `--replace-files` (or `--force`) |
| New script            | Applied           | Applied                    |
| Changed script        | Preserved         | `--update-scripts` (or `--force`) |
| New dependency        | Applied           | Applied                    |
| Changed dependency    | Preserved         | `--update-deps` (or `--force`) |
| Changed package field | Preserved         | `--force`                  |
| Removed template file | Reported          | No automatic deletion      |

Your own files, scripts, and dependencies are never touched by `--apply`. The
report lists everything preserved so you can review it and opt into replacement
where you want Packkit's version.

**Baseline-aware (new projects).** Projects scaffolded with Packkit 3.3+ record
a baseline of what was generated (in `packkit.json`), so upgrade can do a
three-way comparison and tell the difference between a change *you* made and one
the *template* made:

- **template-only change** (you didn't edit it) → applied by `--apply`, safely;
- **your edit** (the template didn't change) → preserved;
- **both changed** → flagged as a conflict to review.

**Older projects** without a baseline fall back to the conservative rule:
anything that differs is preserved for review.

Either way, `--apply` never overwrites your own edits or resolves conflicts for
you — those are always preserved. `--json` reports the classification and
`baselineAvailable` for automation.

**Honest provenance.** After an upgrade, `packkit.json` records what actually
happened rather than claiming the project is a fresh scaffold of the new
version. `version` (the version you generated with) is left untouched;
`lastUpgradeAppliedWith` records the version applied, and `upgradeStatus` is
`current` only when nothing was left behind — a partial upgrade that preserved
your edits is marked `partial` with an `unresolvedChanges` count.

## Or configure it on the web

No install needed: **[packkitjs.github.io/create-packkit](https://packkitjs.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://packkitjs.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. |
| `--monorepo-layout` | **libraries** · fullstack | What the workspace contains. "libraries" gives linked packages you publish (Changesets). "fullstack" gives apps/web (React+Vite) + apps/server (Hono by default; --server for Fastify/Express) + packages/shared, wired together, with the server serving the web build in production. |
| `--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 |
|---|---|---|
| `--tes
boilerplateclicreategeneratormodulenode-jsnpmnpm-packagepackagescaffoldingstartertsuptypescriptvitest

Lo que la gente pregunta sobre create-packkit

¿Qué es PackkitJS/create-packkit?

+

PackkitJS/create-packkit es mcp servers para el ecosistema de Claude AI. Highly configurable scaffolder for modern npm packages & CLIs — pick your stack from a CLI or a web configurator, download as a zip. Tiene 1 estrellas en GitHub y se actualizó por última vez today.

¿Cómo se instala create-packkit?

+

Puedes instalar create-packkit clonando el repositorio (https://github.com/PackkitJS/create-packkit) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar PackkitJS/create-packkit?

+

PackkitJS/create-packkit aún no ha sido auditado por nuestro agente de seguridad. Revisa el repositorio original en GitHub antes de usarlo en producción.

¿Quién mantiene PackkitJS/create-packkit?

+

PackkitJS/create-packkit es mantenido por PackkitJS. La última actividad registrada en GitHub es de today, con 0 issues abiertos.

¿Hay alternativas a create-packkit?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega create-packkit en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: PackkitJS/create-packkit
[![Featured on ClaudeWave](https://claudewave.com/api/badge/packkitjs-create-packkit)](https://claudewave.com/repo/packkitjs-create-packkit)
<a href="https://claudewave.com/repo/packkitjs-create-packkit"><img src="https://claudewave.com/api/badge/packkitjs-create-packkit" alt="Featured on ClaudeWave: PackkitJS/create-packkit" width="320" height="64" /></a>

Más MCP Servers

Alternativas a create-packkit