@wzrdtech/zap package exposes a zap binary that provides a full suite of commands for creating, validating, linting, and running Zap recipes. Node 24.x is required. Install globally or invoke directly with npx @wzrdtech/zap@0.1.0 <command>.
Installation
zap init <dir>
Usage
agent/skills/— directory for skill sub-packagesdocs/— project documentation directory.zap/— local run artifacts and configpackage.json— pre-wired with@wzrdtech/zapdev dependency andzap:*npm scriptsAGENTS.md— AI agent instructions for working with the project.gitignore— ignores.env*,.zap/runs, andnode_modules.env.example— template for required environment variables
--empty is passed, a sample recipe (defaults to hello-world) is scaffolded under agent/skills/. Use --example <name> to choose a different starter recipe.
Flags
Example
zap new <slug>
Usage
agent/skills/zap-<slug>/. The slug is automatically lowercased and normalized (non-alphanumeric characters become hyphens). Must be run from a Zap project root (a directory containing package.json and agent/skills/).
The following files are created inside agent/skills/zap-<slug>/:
SKILL.md— skill description for AI routingZap.md— recipe file with YAML frontmatter and a defaultmockpipelineprompts/initial-frame.md— image generation prompt templateprompts/initial-gen.md— video generation prompt template
--force is provided.
Flags
Example
zap validate [Zap.md]
Usage
Zap.md recipe files. Without arguments, discovers and validates all agent/skills/*/Zap.md files in the current project.
Validation checks include:
- Required fields —
zap,version,description,budget, andstepsmust all be present - Non-empty steps array — at least one step is required
- Step field requirements — every step must have
idandkind - Unique step IDs — duplicate step IDs within a recipe are rejected
- Declared input variables — prompt files may reference
{VARIABLE}tokens; every referenced variable must be declared ininputs - HyperFrames stitch — if a stitch step uses
engine: hyperframes, aDESIGN.mdfile must be present in the project root
1 if any recipe fails validation.
Flags
Example
zap lint [Zap.md]
Usage
agent/skills/*/Zap.md files in the current project.
Policy checks include:
- Live provider default — warns if
defaults.provideris set to anything other thanmock. Silence withZAP_LINT_ALLOW_LIVE_DEFAULT=1. - Positive budget cap — warns if
budget.cap_usdis zero or negative - Stitch step presence — warns if the recipe does not end with a
stitchstep
validate for hard errors.
Flags
Example
zap run <Zap.md>
Usage
--live to plan real provider spend.
Pipeline execution:
- Parses and validates the
Zap.mdfrontmatter - Resolves inputs — in mock mode, required inputs without values receive placeholder defaults (
mock-<name>) - Expands
video.extendsteps according to--extend <n>(or the step’srepeat.default) - Computes a spend quote for live runs; rejects if the quote exceeds
budget.cap_usd - Saves the result to
.zap/runs/<runId>/result.json
If the computed quote exceeds
budget.cap_usd, the run is rejected with an error:Run quote $X.XX exceeds recipe cap $Y.YY.
Run ID format: run_<base36-timestamp>_<sha1-prefix> (e.g. run_m3x9k2_a1b2c3)
Flags
Example — mock run
A live run sets
status: "queued" and mode: "live". zapUrl is omitted until the web runtime processes the job. quoteUsd reflects the estimated spend computed from per-model rates.zap status [runId]
Usage
.zap/runs/. Without a runId, lists all run IDs stored locally. With a runId, prints the status and URL for that specific run.
Flags
Example
zap add <name>
Usage
agent/skills/ in your project. The name argument may omit the zap- prefix; it will be added automatically.
Must be run from a Zap project root.
Available registry entries:
Flags
Example
zap docs [topic]
Usage
Flags
Example
zap skills [generate|update|check]
Usage
skills/skills-manifest.json, a content-addressed inventory of all skill directories. The manifest records each skill’s name, file count, SHA-256 hash, and relative path.
The
check subcommand is used in CI to ensure the manifest stays in sync with skill changes.
Flags
Example
zap doctor
Usage
ok or warn for each. Does not throw on failures — all results are advisory.
Flags
Example
zap dev
Usage
npm run dev in the current working directory. Starts the Next.js development server. Equivalent to running npm run dev directly in your project.
zap studio
Usage
--turbo flag enabled. Proxies to npm run dev -- --turbo. Use this for faster incremental builds during recipe and UI development.
zap info
Usage
cwd— current working directorynode— Node.js version stringplatform— OS platform and CPU architectureversion— CLI version
Example
zap upgrade
Usage
zap feedback <message>
Usage
.zap/feedback.ndjson in the current working directory. Each entry is a newline-delimited JSON record with the message and an ISO 8601 timestamp. Feedback is stored locally only — nothing is sent to any remote endpoint.
Flags
Example
zap telemetry [on|off]
Usage
.zap/telemetry.json. Telemetry is off by default and must be explicitly enabled. Running zap telemetry without an argument (or with status) reports the current state without changing it.
Flags
Example
