Commands
This page documents the CLI surface implemented in this repository.
Global flags:
--root string ANGEE_ROOT containing angee.yaml (default: auto-discover)
--operator string operator URL for HTTP mode
--json write JSON outputWithout --root, the CLI walks upward from the current directory, preferring angee.yaml, then .angee/angee.yaml. In dev checkouts that expose workspace templates at templates/workspaces or legacy .templates/workspaces, it uses .angee so workspace state stays out of the source root.
Stack
angee doctor
angee init --dev [path] [--input key=value ...] [--yes] [--force]
angee stack init <template> [path] [--input key=value ...] [--yes] [--force]
angee stack update
angee stack destroy [--purge]
angee statusangee init --dev is shorthand for the dev stack template. The template must be available through the local or remote template resolver.
Runtime
angee build [service...]
angee up [service...] [--build]
angee dev [--build]
angee down
angee start <service>...
angee stop <service>...
angee restart <service>...
angee logs [service...] [--follow]angee up starts container services only. angee dev starts container services and local-process services. Runtime actions are routed by each service's runtime value.
Services
angee service init <name> [flags]
angee service update <name> [flags]
angee service destroy <name> [--stop=false]
angee service list
angee service start <service>...
angee service stop <service>...
angee service restart <service>...
angee service logs <name> [--follow]Service flags:
--runtime container|local
--image image
--command arg
--env key=value
--mount uri
--port spec
--workdir uri-or-path
--startIf --runtime is omitted, --image creates a container service and --command creates a local service.
Jobs
angee job list
angee job run <name> [--input key=value ...]job run executes the declared job command and writes the job output to stdout.
Sources
angee source list
angee source fetch <name>
angee source status <name>
angee source pull <name>
angee source push <name> [--ref ref]Implemented source materialization is git and local.
Workspaces
angee workspace create <template> [--name name] [--ttl duration] [--input key=value ...] [--start]
angee workspace update <name> [--ttl duration] [--input key=value ...]
angee workspace list
angee workspace get <name>
angee workspace status [name]
angee workspace logs <name> [--follow]
angee workspace start <name>
angee workspace stop <name>
angee workspace restart <name>
angee workspace git <name>
angee workspace push <name> [--ref ref]
angee workspace sync-base [name] [--merge|--rebase]
angee workspace open <name> [--editor vscode|idea|gh-desktop]
angee workspace destroy <name> [--purge]Workspaces are rendered from Copier templates with _angee metadata. A workspace can also render and control an inner stack when the template declares a chain root. When run from inside $ANGEE_ROOT/workspaces/<name>/..., angee workspace status and angee workspace sync-base may omit the name.
For git worktree sources, the branch recorded in the workspace manifest is the workspace identity. sync-base updates that branch from its base ref (normally origin/main) without switching to another branch; workspace lifecycle and push commands refuse sources whose current branch does not match the manifest branch. The same contract is exposed through the operator REST and GraphQL APIs: workspace status includes sources[].branch, sources[].current_ref / currentRef, sources[].state, and top-level state: discrepancy when any source is on the wrong branch. The operator also exposes POST /workspaces/{name}/sync-base and GraphQL workspaceSyncBase.
Operator
angee operator [--root root] [--bind address] [--port port] [--token token]
angee --operator http://127.0.0.1:9000 statusNon-loopback binds require --token. Remote CLI mode uses the REST operator API for supported operations.