@napplet/cli
Standalone CLI for creating, configuring, inspecting, and deploying napplets.
@napplet/cli is the command-line deploy and diagnostics tool for built napplets. It creates .napplet/config.json, discovers built index.html artifacts, inspects deploy plans, signs manifest events, uploads files to Blossom servers, publishes to relays, and runs local napplet tooling such as conformance and Paja.
- npm:
@napplet/cli - JSR:
@napplet/cli - Source: packages/cli
Install
Install a checksum-verified standalone binary without Deno:
# macOS or Linux
curl -fsSL https://napplet.run/install.sh | sh# Windows PowerShell
irm https://napplet.run/install.ps1 | iexThe installers verify the downloaded asset against the release's SHA256SUMS. Linux and macOS support x64 and ARM64; Windows supports x64.
JSR/Deno alternative
deno install --global \
--allow-read --allow-write --allow-run --allow-env --allow-net \
--name napplet \
jsr:@napplet/cli/cliThen open the developer guide or check the command reference:
napplet guide
napplet --helpThe permission set is explicit because deploys need to read build output and config, write temporary deploy state, run local helper commands, read signing environment variables, upload to Blossom servers, publish to relays, and connect to remote signers.
Quick start
Run the same path for every new project:
napplet create my-napplet
cd my-napplet
napplet init
napplet skills install --to codex
pnpm install
# Ask your agent to build the napplet.
pnpm verify
napplet deploy --dry-run
napplet deploynapplet createdelegates to the maintained starter generator without setting deploy metadata.napplet initowns name, title, optional description, canonical archetype contracts, and network targets in.napplet/config.json. In an interactive terminal it guides setup and shows live suggestions from relays such aswss://relaypag.es, and suggests Blossom servers from kind10063server-list events.napplet skillsdelegates to the shipped agent-skill installer and preserves its target arguments.napplet debugprints resolved config, discovered napplets, deploy targets, manifest templates, and signing readiness without network writes.napplet deploy --dry-runbuilds the same deploy plan and signed manifest events without uploading or publishing.napplet deployuploads files to configured Blossom servers and publishes signed root, named, and optional snapshot manifest events to configured relays.- When no signer flag or stored signer exists, interactive
napplet deploystarts the NIP-46 connection flow and stores the paired remote signer when native key storage is available. --prompt-secreads hidden input until Enter; when.nappletnames a bunker pubkey/npub, a mismatched prompted signer requires interactive confirmation and fails closed in non-interactive runs.
Commands
napplet guide
napplet create <directory> [--template <path-or-url>] [--force]
napplet init [--force] [--root] [--source-dir <dir>] [--name <dtag>] [--title <title>] [--description <text>] [--archetype <slug:NAP-N>] [--relay <url>] [--server <url>]
napplet skills <list|print|install> [args]
napplet discover [--config <file>] [--all]
napplet debug [--config <file>] [--all] [--root] [--name <dtag>] [--snapshot] [--sec <secret>]
napplet deploy [--config <file>] [--all] [--root] [--name <dtag>] [--snapshot] [--sec <secret>] [--prompt-sec] [--dry-run]
napplet keys store --name <ref> [--sec <secret> | --prompt-sec]
napplet keys connect --name <ref> [--relay <url> ...] [--config <file>]
napplet keys use --name <ref> [--config <file>]
napplet keys list
napplet keys delete --name <ref>
napplet keys doctor
napplet conformance [--config <file>] [--all] [-- <args>]
napplet paja [--config <file>] [-- <args>]Layouts
For a single napplet repository, discovery checks sourceDir and prefers dist/index.html, falling back to a top-level index.html.
For workspaces, set discover.roots and use --all. Each discovered napplet deploys under its own folder name as the named d tag.
See also
@napplet/vite-plugin— emits build-side manifest metadata the CLI preserves during deploy.@napplet/conformance-cli— the default command behindnapplet conformance; the standalone CLI resolves it throughnpx, without requiring a globalnapplet-conformanceexecutable.- Getting started — scaffold, build, and verify a napplet before deploying.