Cargo-native
Axonyx now ships public crates for the scaffold CLI, Cargo helper, runtime, compiler core, macros, and Foundry UI package.
Axonyx is a web framework experiment for content-first sites, docs, and future CMS flows: Cargo-native tooling, Foundry UI, static output, and much less JavaScript by default.
Axonyx 0.6.0 is a public beta on crates.io. Build static sites, docs, and blogs today; explore typed Pages, Rust-backed routes, actions, data, and selective WASM-backed state for full-stack applications. The compiler owns the HTML and server boundary, so browser JavaScript stays focused on interaction.
Install from crates.io
Loading package versions from Axonyx state...
Browse the stack
Axonyx is not one giant black box. It is a small set of framework layers that fit together: author pages, validate contracts, render through Rust, style with Foundry, and test the result before deploy.
Architecture
Axonyx now ships public crates for the scaffold CLI, Cargo helper, runtime, compiler core, macros, and Foundry UI package.
Pages are authored in JSX-like `.asx` files, routed through `app/**/page.asx`, and checked by `cargo ax check` before build.
The syntax is intentionally familiar for frontend developers while staying explicit enough for humans and AI agents to reason about.
`axonyx-ui` is consumed as a Cargo package. CSS and component behavior are served through `/_ax/pkg/axonyx-ui/...`.
Public beta loop
`create-axonyx` creates a registry-based app with `axonyx-runtime` and `axonyx-ui` from crates.io.
The site template starts from real `.asx` routes, a Foundry layout, backend drafts, and public assets.
`cargo ax check` catches `.asx` authoring errors, typed member mistakes, import issues, and route conflicts before the browser loop.
`cargo ax doctor --deny-warnings` verifies runtime, UI package CSS/JS, app shape, and source diagnostics.
`cargo ax melt --check` collects the project graph and fails before build if source diagnostics appear.
`cargo ax actions` prints route-local action contracts, including typed, optional, and defaulted form inputs.
`cargo ax actions --schema` gives the first machine-readable contract for forms, route actions, and future CMS tooling.
`cargo ax test` delegates to Aegis fast QA when `aegis.toml` exists, giving the first Cargo-native pre-deploy test loop.
`cargo ax db check` validates configured data access and `cargo ax db pull` writes a local schema snapshot for the compiler and docs loop.
Backend routes can declare response contracts with function-shaped blocks such as `route GET "/api/posts" -> Post[]`.
`cargo ax api --schema` prints Axonyx-native request and response contracts. `cargo ax api --openapi` exports OpenAPI 3.1 JSON with `components.schemas`.
cargo ax check
cargo ax api --schema
cargo ax api --openapi --out public/openapi.json`cargo ax build --clean` writes static route HTML, public assets, package CSS, and content manifests into `dist/`.
`cargo ax run start` now uses Tokio by default for hosted deploys, while `--transport std` remains available as a fallback.
This native site is the proving ground for the same stack.
Runtime
`cargo ax build --clean` writes route HTML and public assets into `dist/` for deployment experiments.
Teams can use the React adapter today at react.axonyx.dev while this native Axonyx site becomes the long-term framework documentation.
Use it for experiments
Axonyx is ready for early framework sites, docs, landing pages, and architecture feedback. The current public beta includes Cargo packages, typed `.asx` and `.ax` checks, content collections, static build, Tokio start server, data-aware routes, and dev server flow.
Docs
Use these sections to understand the current native framework shape.
Copy/paste beta flow
cargo install create-axonyxcargo install cargo-axonyxcargo install axonyx-aegis --forcecreate-axonyx my-site --yes --template sitecd my-sitecargo ax run devcargo ax testimport { PageHeader } from "@axonyx/ui/foundry/PageHeader"
page Home() {
const shellClass = "docs-shell"
return ASX {
<Container max="xl">
<PageHeader className={shellClass} title="Hello Axonyx">
<Copy tone="lead">Readable .asx pages, rendered by Axonyx.</Copy>
</PageHeader>
</Container>
}
}