A provider-neutral, multi-language project platform. One protocol and one lifecycle vocabulary; many language generators, many interfaces, many compatible deploy providers. Scaffold a modern project — in JavaScript/TypeScript, Python, or Go — from a web configurator, an MCP server for AI agents, or a CLI, with a stable embedded API and safe, baseline-aware upgrades.
@packkit/core defines the PackkitGenerator protocol and the shared
lifecycle: generate, extend, digest, export/replay a definition, plan an upgrade,
and describe how to deploy in a provider-neutral deployment contract. Each
language generator implements that protocol; interfaces (web, MCP) and providers
consume it — and never a generator's internals.
┌─────────────► packkit-web (browser interface)
@packkit/core ◄──── generators ────► packkit-mcp (agent interface)
(protocol + (create-packkit-js, │
lifecycle) create-packkit-py, │
▲ create-packkit-go) └─────────► providers (consume DeploymentContract:
│ provider-netlify, provider-aws)
└──── packkit-actions (shared lifecycle automation)
The dependency direction is one-way and acyclic. A provider consumes a
deployment contract, not a language — support is provider × DeploymentContract,
so a service from the JavaScript, Python, or Go generator deploys the same way.
Adding a language is one generator implementing the protocol; the interfaces and
providers don't change.
- Universal platform —
@packkit/core+PackkitGenerator+ a generator registry. A developer portal, agent host, or API drives JavaScript, Python, Go, and future generators through one lifecycle, selecting by generator id. - Language-specific — a generator's embedded API when a caller deliberately
wants its richer, language-aware features (e.g.
package.jsonmerging increate-packkit,go.moddiffing increate-packkit-go). - Filesystem — the Node-safe writer (
@packkit/core/node) when a host wants to write a generated project to disk. Generation and upgrade planning stay side-effect free.
Explicit registration only — no npm scanning, dynamic download, or arbitrary plugin execution.
