Public betaRust-first frameworkCargo-native

Rust-first websites with readable .ax files.

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.

Beta status: the first public loop works today. APIs will still change.

packages live

Install from crates.io

cargo install create-axonyx
cargo install cargo-axonyx
create-axonyx my-site --yes --template site
cargo ax run dev

Architecture

One framework loop, multiple frontends.

Cargo-native

Axonyx now ships public crates for the scaffold CLI, Cargo helper, runtime, compiler core, macros, and Foundry UI package.

Install Axonyx

.ax authoring

Pages are authored in JSX-like `.ax` files, routed through `app/**/page.ax`, 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.

Foundry UI

`axonyx-ui` is consumed as a Cargo package and served through `/_ax/pkg/axonyx-ui/index.css`.

Runtime

Built for sites first, apps next.

Static output

`cargo ax build --clean` writes route HTML and public assets into `dist/` for deployment experiments.

React Adapter

Teams can use the React adapter today at react.axonyx.dev while this native Axonyx site becomes the long-term framework documentation.

Beta Scope

Use it for experiments

Axonyx is ready for early framework sites, docs, landing pages, and architecture feedback. APIs will still change.

Docs

Start small, inspect everything.

Explore

Use these sections to understand the current native framework shape.

Try Axonyx

Copy/paste beta flow

  1. Install the scaffold CLIcargo install create-axonyx
  2. Install the Cargo helpercargo install cargo-axonyx
  3. Create and run a sitecreate-axonyx my-site --yes --template sitecd my-sitecargo ax run dev

Axonyx Page Shape

Example

import { PageHeader } from \"@axonyx/ui/foundry/PageHeader.ax\"\n\npage Home\n\n<Container max=\"xl\">\n  <PageHeader title=\"Hello Axonyx\">\n    <Copy tone=\"lead\">Readable .ax pages, rendered by Axonyx.</Copy>\n  </PageHeader>\n</Container>