The CLI lives in apps/cli, publishes as @arche/create, and exposes binaries arche and create-arche. Publication is guarded—use the development command until release gates clear.
Run today (source checkout)
terminal
bun run dev:cli -- <project-name> [flags]Common non-interactive example:
terminal
bun run dev:cli -- my-app --yes --preset=typescript-fullstack --dir=../projects| Route | Command |
|---|---|
| Published (after release) | npx arche create my-app |
| Published (alternate) | bunx arche create my-app |
| Development | bun run dev:cli -- my-app |
What the CLI does
Loading diagram…
- Copies and transforms template material for the chosen preset
- Applies package manager catalogs (Bun / pnpm / experimental npm)
- Renames scopes from
@arche-template/*to your project identity - Writes agent context (
AGENTS.md,.docs/,.plans/,arche.json) - Optionally adds Docker, CI, deployment docs, showcase routes, worker workspace
- Initializes git and runs install when configured
Preset vs family
--preset=<id>— current registry route (typescript-fullstack, rust-api, solana-web, …)--family=<name>— legacy selector kept for older scripts; prefer presets for new work
Interactive flow
Without --yes, the CLI prompts for starting point, package manager, database/ORM where applicable, showcase/worker toggles, and output directory.
Next pages
- Flags — every CLI switch
- Subcommands —
create-json,validate,add,mcp - Generated output — files you should expect in a new repo
- Preset catalog — all
--preset=values