Skip to main content
In this guide you will scaffold a fresh Zap project, author a recipe with zap new, validate it against the schema, and execute the full pipeline in mock mode — producing a local run result with no provider spend. The whole sequence takes under five minutes and requires only Node.js 24 and an internet connection for the initial npx fetch.
1

Install & scaffold a project

Run the init command with --non-interactive to scaffold the project layout, write AGENTS.md, .env.example, and package.json, and install a sample hello-world recipe — then install dependencies:
The generated package.json includes a full set of convenience scripts so you can use npm run zap:* instead of typing the full npx prefix each time.
2

Scaffold a recipe

Use zap new to scaffold a recipe skill directory. The slug is lowercased and hyphenated automatically:
This creates the following file tree inside your project:
The generated Zap.md has pre-filled frontmatter ready to validate and run immediately:
3

Validate the recipe

Run the validator to confirm the frontmatter schema is correct, all step id and kind fields are present, input references are declared, and the budget cap is positive:
Expected output for a fresh scaffold:
You can also pass a specific file path or slug to validate a single recipe: zap validate agent/skills/zap-my-zap/Zap.md.
4

Run the mock pipeline

Execute the full step graph in mock mode. The --json flag returns machine-readable output suitable for agents and CI pipelines:
Truncated output:
The full result is also written to .zap/runs/<runId>/result.json for offline inspection.
5

Check run status

List all local runs or inspect a specific run by ID:
Output for a completed mock run:
Live provider runs require --live plus provider credentials. Mock mode is always the default and always free. To run against real providers (GMI Cloud, fal.ai, etc.), pass --live and ensure the appropriate API keys are set in your environment. See Providers for key names and setup instructions.
Use the npm scripts for daily development. zap init adds these scripts to package.json automatically:
With these in place you can run npm run zap:validate, npm run zap:run -- agent/skills/zap-my-zap/Zap.md --json, and so on without the npx @wzrdtech/zap@0.1.0 prefix.