Skip to content

@napplet/boilerplate

Project-only generator behind napplet create.

@napplet/boilerplate is the package-backed generator used by the primary CLI. It clones the github.com/napplet/boilerplate template — a Vite + TypeScript napplet starter — and derives the package name from the destination. Deployment name, title, description, and archetypes are owned later by napplet init.

Usage

bash
napplet create my-napplet

It currently ships one variant, basic, but keeps a --variant option so future templates can be added without changing the command shape.

Direct package route

The package can still be invoked directly for generator development or custom template testing:

bash
npx @napplet/boilerplate ./my-napplet --yes

Programmatic CLI API

runCli(argv) is the import-safe generator entry point used by the standalone CLI. It returns 0 on success or 1 after emitting the same @napplet/boilerplate: diagnostic as the package binary.

ts
import { runCli } from '@napplet/boilerplate';

const status = await runCli(['my-napplet', '--template', './template']);

Options

OptionPurpose
--variant <name>Template variant. Currently basic.
--template <path-or-url>Override the template source (useful for local verification).
--yes, -yUse ./my-napplet when the destination is omitted.
--forceAllow generation into a non-empty directory.

By default the CLI clones https://github.com/napplet/boilerplate.git.

Deployment metadata boundary

The generated project leaves archetype metadata to napplet init. Each manifest archetype tag advertises one complete queryless napplet:<archetype>/<intent> identity:

json
["archetype", "profile", "napplet:profile/open"]

URI queries are per-invocation payload sugar at INC emit. They never appear in manifest discovery or subscriptions. Intent dispatch uses invoke(request) or open(archetype, payload?, opts?) and returns the canonical result with handled, handler, and window information.

This guidance follows the exact draft heads of NAP-INC PR #89 (4593ce9), the governance/web projection PR #90 (896c32c), and NAP-INTENT.

See also

Released under the MIT License.