CLI reference
Every command submits an authenticated job to the server. create and sync make the new branch current, so info --print-url needs no name.
Sources
| Command | What it does |
|---|---|
preflight <engine> <url> [--schemas a,b] [--format json] | Check a source read-only; exit 2 on failure. Creates nothing. |
clone <name> <url> | Infer the engine and create a continuously-synced replica. |
sync <engine> <name> <url> [--schemas] [--fix-replica-identity] | Same, engine explicit; can fix replica identity on the source. |
import <engine> <name> <datadir|file|--new> | Root from a stopped data dir, a SQLite file, or an empty database. |
status <name> [--format json] | Replication state: initial-copy progress, WAL lag, schema tracking. |
repair <name> | Resume a paused replica — skip a poison transaction or reconcile schema. |
reconcile <name> | Add columns/tables the source gained (for sources without the event trigger). |
Branches
| Command | What it does |
|---|---|
create <name> --from <parent> [--print-url] [--format json] | Copy-on-write branch of a root or another branch. Idempotent. |
info [name] [--print-url] [--format json] | Details of a branch (default: current). |
url [name] · switch <name> | Full connection URL · make a branch current. |
reset <name> | Throw away changes, re-clone from the parent. |
start · stop · rm <name> | Resume · suspend · delete. |
lock · unlock <name> | Protect a branch from rm. |
list [--format json] | All branches; passwords redacted. |
Settings
Per-root defaults applied to every new branch:
anybranch settings <root> set default_db app
anybranch settings <root> set branch_sql @anonymize.sql --hook 10-anon
anybranch settings <root> set source 'postgresql://…' # rotate credentialsbranch_sql hooks run once per new branch, in hook-name order; multiple hooks coexist via --hook.
Server
serve, up (restore branches after a reboot), and service install|uninstall (run up at login). See Server deployment.