AutoMax
ReferenceCLI commands

automax init

Scaffold a new AutoMax workspace with an organization, a workspace and the demo project.

automax init [dir] [--db sqlite|postgres] [--pm bun|pnpm] [--no-demo] [--claude] [--from <app>]
             [--git] [--link] [--no-install] [--no-browsers]
             [--org <slug>] [--org-name <name>] [--workspace <slug>] [--workspace-name <name>] [--force]
FlagMeaning
dirtarget directory (default: current directory; must be empty unless --force)
--dbdatabase driver written to .env.example (sqlite needs no setup)
--pmpackage manager used for the install step and printed in next steps
--no-demoskip copying projects/demo-shop
--clauderun automax agent install-claude afterwards (.claude/agents, .mcp.json)
--from <app>analyze an application repository and create a project from it (automax analyze --apply)
--gitgit init plus an initial commit
--linkdepend on the local AutoMax packages instead of the npm registry (developing AutoMax itself)
--no-install / --no-browsersskip bun install / playwright install chromium
--org, --org-nameorganization written to automax.workspace.yaml (default default)
--workspace, --workspace-namefirst workspace (default default)

What gets created:

FilePurpose
package.jsondepends on @automax/cli, @automax/core, @playwright/test, playwright-bdd; scripts test, test:api, test:ui, lint, serve, doctor
automax.workspace.yamlorganization, workspaces, defaultWorkspace, default processes (pr-check, nightly-regression, release-gate)
playwright.config.tsgenerated from the project registry (project × layer × browser)
tsconfig.jsonstrict NodeNext config covering projects/**
.env.example, .gitignoresecrets template and ignores (.automax/, .auth/, .env.*)
docker-compose.ymlPostgres 16 and the optional server
projects/demo-shop/the reference project (unless --no-demo)
.claude/skills/automax-record and automax-run skills
npx automax init my-tests --org acme --workspace web && cd my-tests
bun run automax doctor
bun run automax workspace tree
bun run automax run -p demo-shop -e staging -l api

Exit code 2 when the directory is not empty (use --force) or a flag value is invalid.