Public beta — not for production use. Data may be wiped at any time. Questions? Contact us.
Documentation menu

axiom dev

Start a local development server with hot reload

View as Markdown
<!-- GENERATED by docs/scripts/gen-cli-reference — DO NOT EDIT. Source of truth: the cobra command definitions in cmd/axiom/cmd/. Regenerate from the repo root with: go run ./docs/scripts/gen-cli-reference -->

axiom dev

Start a local development server with hot reload

Start a local development server with hot reload.

Generates the gRPC service (identical to the publish pipeline), compiles and runs it natively, then starts an HTTP bridge for easy testing with curl or any HTTP client. JSON payloads are automatically converted to and from Protobuf.

Watches nodes/, messages/, and axiom.yaml for changes and recompiles/restarts the service automatically. Failed builds leave the previous service running so you always have a working server while you fix errors.

Supported for all six languages. Go, Rust, Java, and C# use a rebuild-on-save-restart loop: each change recompiles the native artifact and restarts the process (there is no in-process hot-swap), so the first reload of a compiled package is slower while its toolchain warms up. Python and TypeScript run from source.

--tunnel (live node override): ALSO attach this local server to the platform as the live implementation of this package's DRAFT nodes. While attached, every platform invocation of those nodes — from a flow, the API, or the console — is served by the code running here, with hot reload; a saved change is live on the next invocation, no push, no deploy. Requires:

- the package pushed as a DRAFT (unpublished, not released) under your handle,
- a dev-tunnel ARM for each node, set by a human in the Axiom console
  (the CLI cannot arm it; arms last 2 hours and can be re-armed),
- a login with write scope.

Sessions are ephemeral (no execution rows, no replay) and re-attach on drop.

Usage

axiom dev [flags]

Flags

FlagShorthandTypeDefaultDescription
--help-hboolhelp for dev
--port-pint8083HTTP bridge port
--socketstring/tmp/axiom.sockUnix socket path for gRPC service
--tunnelboolAttach to the platform as the live implementation of this package's DRAFT nodes (needs a console-side arm per node)
--with-memoryboolStart the local Axiom memory service (requires PostgreSQL+pgvector via PG_CONN env var)

See also