III.1 Commands
| Command | Purpose |
|---|---|
oxl new <name> [--template service|lib|cli] | a new package |
oxl build [--profile p] [--target t] [--image ref] [--static] | build; --image — an OCI image; --static — a fully static binary |
oxl run [--profile p] [runtime flags] | build and run a single node |
oxl dev [--nodes n] [--roles r1,r2] | a local cluster with reload on code change |
oxl test [paths] [selection flags] | tests (§III.9) |
oxl check | type checking and analysis without code generation |
oxl fmt [--check] | canonical formatting |
oxl fix [paths] [--dry-run] [--only codes] [--except codes] | apply in a batch the quick fixes of diagnostics (those the language server offers for a diagnostic); --dry-run prints a unified diff and exits with code 1 if there is something to fix; 3 — syntax errors (nothing is changed) |
oxl doc [--open] | documentation from /// |
oxl add <dep>[@version], oxl remove, oxl update | dependencies |
oxl publish | publishing to the registry with SemVer and schema checks |
oxl yank [<name>@]<version> [--undo] | mark a published version as withdrawn: the resolver does not select it anew, existing oxl.lock files keep working |
oxl export --proto|--openapi | schemas for other languages |
oxl gen --ts|--py|--go|--kotlin|--cpp | clients |
oxl db diff|migrate|rollback | ORM migrations |
oxl access diff|who-can <method> | permission analysis |
oxl config get|set|history|rollback | the cluster's dynamic config |
oxl ab start|stop|status <name> | A/B experiments |
oxl debug [attach <address>|--node <id>] | debugger (§III.7) |
oxl inspect --cluster <address> | a web interface to a running cluster (§III.8) |
oxl trace <traceId>, oxl replay <traceId> | request trace, replay from the journal |
oxl prof cpu|heap|tasks --node <id> | profiler |
oxl keys rotate, oxl storage snapshot|restore | keys and storage |
Exit codes of oxl: 0 — success, 1 — program error or failed tests, 2 — invalid arguments, 3 — compile error, 78 — configuration error.
Implementation-defined. Images and the set of commands (D-8056; DIV-045; HANDOFF §3). The command table is a requirement on the set; the actual set, flags and return codes of the implementation are printed by
oxl help(andoxl help --json). In this implementationoxl build --imagebuilds an OCI image but does not publish it to a registry (no push) and does not turn on static linking (--image); a fully static binary is built byoxl build --static(glibc, libstdc++ and the runtime libraries inside; name resolution anddlopenbehave as glibc documents) (D-8063; D-7703).
Related diagnostics
Source: docs/spec/oxl-standard.en.md