CLI Reference

The create-better-openclaw CLI is the primary way to generate OpenClaw stacks. It supports both an interactive wizard and a fully non-interactive mode for CI/CD pipelines.

Basic Usage

create-better-openclaw <project-name> [options]

If no options are provided, the CLI launches the interactive wizard. If --yes is passed, it uses defaults combined with any explicit flags.

Flag Cheat Sheet

FlagTypeDefaultDescription
--preset <name>stringUse a named preset (minimal, researcher, devops, local-ai, full)
--services <list>stringComma-separated service IDs (e.g. qdrant,redis,n8n)
--skills <list>stringComma-separated skill pack IDs
--proxy <type>stringnoneReverse proxy: caddy, traefik, nginx, or none
--domain <name>stringDomain name for reverse proxy (requires --proxy)
--gpubooleanfalseEnable GPU passthrough for Ollama, Whisper, etc.
--platform <arch>stringautoTarget platform (e.g. linux/arm64)
--deployment-type <type>stringdockerdocker: all services in containers. bare-metal: native + Docker hybrid — services with a native recipe (e.g. Redis on Linux) get install scripts in native/; top-level install.sh / install.ps1 runs native first, then docker compose up. See Bare-metal deployment.
--generateSecretsbooleantrueAuto-generate random passwords and API keys
--yesbooleanfalseSkip all prompts, use defaults + flags
--output <dir>string./<project>Custom output directory
--dry-runbooleanfalseShow what would be generated without writing files
--versionPrint version number
--helpShow help message

Non-Interactive Mode

Pass --yes to skip all interactive prompts. Combine with other flags to fully automate stack generation — perfect for CI/CD, scripts, or infrastructure-as-code workflows.

# Minimal stack with no prompts
npx create-better-openclaw my-stack --preset minimal --yes

# Custom service selection
npx create-better-openclaw my-stack \
  --services qdrant,redis,n8n,searxng \
  --skills researcher,automation \
  --proxy caddy \
  --domain ai.example.com \
  --yes

# Dry run to preview
npx create-better-openclaw my-stack \
  --preset full \
  --dry-run

Examples

Research Assistant Stack

npx create-better-openclaw research-stack \
  --preset researcher \
  --proxy caddy \
  --domain research.example.com \
  --yes

Local-Only AI (No Cloud APIs)

npx create-better-openclaw local-ai \
  --services ollama,whisper,redis,qdrant \
  --skills local-ai,memory \
  --gpu \
  --yes

Production VPS Deployment

npx create-better-openclaw prod-stack \
  --preset devops \
  --proxy caddy \
  --domain openclaw.mycompany.com \
  --generateSecrets \
  --yes

ARM64 Homelab (Raspberry Pi / Apple Silicon)

npx create-better-openclaw homelab-stack \
  --preset minimal \
  --platform linux/arm64 \
  --yes

Custom Output Directory

npx create-better-openclaw my-stack \
  --preset researcher \
  --output ~/projects/ai-stacks/my-stack \
  --yes

Bare-metal (native + Docker)

npx create-better-openclaw my-stack \
  --preset minimal \
  --deployment-type bare-metal \
  --platform linux/amd64 \
  --yes

Generates native/install-linux.sh (or Windows/macOS), install.sh/install.ps1, and a Docker Compose file for the remaining services. See Deployment → Bare-metal for details.

Exit Codes

CodeMeaning
0Success
1General error (invalid flags, missing dependencies)
2Validation error (conflicting services, invalid preset)
130User cancelled (Ctrl+C)

Environment Variables

The CLI respects the following environment variables:

VariableDescription
OPENCLAW_DEFAULT_PRESETDefault preset when no --preset is provided
OPENCLAW_PROXYDefault reverse proxy type
NO_COLORDisable colored output (standard convention)

Next Steps