Skip to content
atarashi
Documentation menu

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.

CodeNameMeaning
0OK
1RUNTIME
2USAGE
3RESOLUTION
4MERGE_CONFLICT
5FS_REFUSAL
6REGISTRY
7POST_ACTION
130INTERRUPTED

Global behaviour

  • --json switches every command to a machine-readable object on stdout and implies --no-color. Human-readable progress goes to stderr, so atarashi new … --json > plan.json is 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.
  • --offline uses 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.