Amana is a declarative DSL compiler. You write a single .amana file describing your app — models, routes, layouts, and forms. The Rust compiler does the rest.
app Analytics: title: "Analytics Dashboard" db_path: "analytics.db" theme: mode: dark primary: "#6366f1" surface: glass model Metric: kpi_name: str unique required value: str required trend: str default "+0.0%" seed Metric: row: { kpi_name: "Active Users", value: "12,482", trend: "+8.3%" } row: { kpi_name: "Uptime", value: "99.98%", trend: "+0.1%" } route / -> view Dashboard view Dashboard: server: fetch metrics = Metric.all() render: div.page: Navbar(brand: "Analytics", sticky: true) section: compose: layout: bento for m in metrics: Kpi(label: m.kpi_name, value: m.value, trend: m.trend) Footer()
The compiler handles the full stack — from database migrations to responsive layouts.
One source file compiles into a complete Express server, SQLite migrations, EJS templates, and production CSS.
Bento, masonry, magazine, asymmetric, sidebar, command-center and more — all validated at compile time.
Selector safety, property allowlist, value sanitizer, and CSS layer isolation — enforced before code generation.
Declare a model, get migrations, seeds, and parameterized query handlers — no ORM needed.
Structured compiler errors with file, line, and message — ready for AI-assisted repair loops.
Fast, memory-safe compiler with zero runtime dependencies. Compiles in milliseconds.
git clone https://github.com/akleeko2/amana-dsl.git then cargo build --release
cargo run -- build examples/01_saas_aura.amana .amana_dist
cd .amana_dist && npm install && npm run dev — visit localhost:3000
Open source. No vendor lock-in. Full source code available under AGPLv3.