CLI reference
Every command, printed by the binary itself. If something here disagrees with
what atarashi --help tells you, the binary is right and this page is stale;
run pnpm build:docs.
Commands
atarashi: composable project scaffolding
Usage
atarashi Interactive wizard
atarashi new <name> [options] Create a project
atarashi add <blueprint...> [options] Add capabilities to an existing project
atarashi list [blueprints|presets] Browse what's available
atarashi info <blueprint> Details for one blueprint
atarashi preset <save|list|delete> Save/list/delete personal presets
atarashi config <get|set|unset|list|path> User-level settings
atarashi registry <subcommand> update|list|pin|unpin|verify|clear|add|sources
atarashi doctor [--fix] Diagnose environment + a project
atarashi create-blueprint <id> Scaffold + validate a new blueprint
atarashi eject Inline blueprints into the project
atarashi upgrade Check for a newer atarashi
atarashi completion <bash|zsh|fish> Shell completions
Run `atarashi new --help` or `atarashi add --help` for their full flag surface.
Every command that changes something accepts `--dry-run`.
atarashi new
Usage: atarashi new <name> [options]
Selection
-p, --preset <id> Start from a preset
-a, --add <ids...> Add blueprints (repeatable, comma-separated ok)
-r, --remove <ids...> Remove blueprints inherited from the preset
--from <file> Generate from an atarashi.json
Shorthands (sugar over --add)
--runtime <node>
--http <express|fastify|hono|none>
--db <postgres|mysql|mongodb|sqlite|none>
--orm <drizzle|prisma|mongoose|none>
--auth <jwt|session|none>
--ci <github|gitlab|none>
--docker / --no-docker
--tests <vitest|jest|none>
--lint <eslint|biome|none>
Blueprint answers
--<blueprint-flag> <value> Any prompt's declared flag, e.g. --db-name
--set <key=value...> Answer any prompt by name: --set db.name=api
Behaviour
-y, --yes Accept all defaults; never prompt
-d, --dir <path> Target directory (default: ./<name>)
--force Write into a non-empty directory
--dry-run Print the plan; write nothing
--json Machine-readable output (implies --no-color)
--offline Use cached registry only
--registry <version|url> Pin the registry for this run
Post-actions
--pm <pnpm|npm|yarn|bun> Package manager (default: detected)
--install / --no-install
--git / --no-git
--commit / --no-commit
--format / --no-format
--write-env Also write .env (not just .env.example)
Output
-v, --verbose Stream subprocess output
-q, --quiet Errors only
--no-color
--no-hooks Never run blueprint generation hooks
atarashi add
Usage: atarashi add <blueprint...> [options]
--set <key=value...> Answer a prompt by name
-y, --yes Never prompt for confirmation
--force Overwrite files edited since generation too
--dry-run Show the diff; write nothing
--json Machine-readable output
--offline Use cached registry only
--registry <version|url> Pin the registry for this run
--install / --no-install
-v, --verbose
-q, --quiet
--no-color
Exit codes
Scripts can branch on these; they are part of the public surface and do not change within a major version.
| Code | Name | Meaning |
|---|---|---|
0 | OK | |
1 | RUNTIME | |
2 | USAGE | |
3 | RESOLUTION | |
4 | MERGE_CONFLICT | |
5 | FS_REFUSAL | |
6 | REGISTRY | |
7 | POST_ACTION | |
130 | INTERRUPTED |
Global behaviour
--jsonswitches every command to a machine-readable object on stdout and implies--no-color. Human-readable progress goes to stderr, soatarashi new … --json > plan.jsonis safe to pipe.- Non-TTY runs never prompt. A missing required answer is an error that names the exact flag to pass, rather than a hang.
--offlineuses only what is already in the cache; the bundled blueprints always resolve, so a first run works with no network.
Part of the atarashi documentation, written and maintained by Gautam Suthar.