Core frameworkAxum + Tokio

Runtime and server

Axonyx turns `.asx` authoring into route-aware HTML, runtime metadata, package assets, and a Rust production process. Tokio handles async execution while Axum provides the HTTP boundary behind Axonyx routes.

From page to response

The Melt parses Pages and backend sources, checks their contracts, builds the route graph, and emits the artifacts consumed by the runtime. Browser JavaScript is added only for components or state bindings that need client behavior.

Runtime pipeline
text
.asx pages + .ax backend
  -> parser and typed checks
  -> lowering and Melt graph
  -> HTML + package assets + runtime metadata
  -> Axum route adapter
  -> Tokio production process

Development runtime

The development command discovers routes, renders the app, serves package/public assets, and reports `.asx` and `.ax` diagnostics in one loop.

Development
terminal
cargo ax run dev

Production runtime

Build first, then start the checked output. Production uses the Tokio transport by default; the standard-library transport remains an explicit fallback while the server layer matures.

Production
terminal
cargo ax check
cargo ax build --clean
cargo ax run start --host 0.0.0.0 --port $PORT
Explicit fallback
terminal
cargo ax run start --transport std --host 0.0.0.0 --port 3000

Server policy

Compression, security headers, request limits, timeouts, graceful shutdown, connection limits, and request logging belong to the Axonyx server contract rather than page code.

Axonyx.toml
toml
[server]
compression = true
security_headers = true
request_logging = true
log_format = "text"
max_body_bytes = "1mb"
request_timeout_seconds = 2
shutdown_grace_seconds = 5
max_connections = 1024