OxL Reference

III.1 Commands

CommandPurpose
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 checktype 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 updatedependencies
oxl publishpublishing 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|--openapischemas for other languages
oxl gen --ts|--py|--go|--kotlin|--cppclients
oxl db diff|migrate|rollbackORM migrations
oxl access diff|who-can <method>permission analysis
oxl config get|set|history|rollbackthe 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|restorekeys 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 (and oxl help --json). In this implementation oxl build --image builds 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 by oxl build --static (glibc, libstdc++ and the runtime libraries inside; name resolution and dlopen behave as glibc documents) (D-8063; D-7703).

publish-refused

Source: docs/spec/oxl-standard.en.md