Skip to content
@Rullst

Rullst

πŸ“œπŸ¦€πŸŒ Super Full-Stack Framework for Rust language πŸŒπŸ¦€πŸ“œ- πŸ€– The AI-Native Paradigm (Designed for Humans & AI)

All glory and honor to God Χ™Χ”Χ•Χ” in the name of Yeshua the Messiah (Jesus Christ).

Rullst β€” build secure apps in Rust without the suffering. Batteries included, secure by default, designed for humans and AI.

πŸŒπŸ¦€πŸ“œ Rullst πŸ“œπŸ¦€πŸŒ

Intelligent, Security-Conscious, and Designed for Effortless Productivity β€” Because With Rullst, We Rule!

Crates.io Crates.io Downloads Docs.rs Main Rust CI License: MIT

Whole-repository coverage OpenSSF Scorecard OpenSSF Best Practices MSRV 1.96.0

Quickstart Β· Start building Β· Rullst Academy Β· Live examples Β· Documentation Β· Discord

Terminal: cargo rullst new asks for the project name, starter, database and optional features, creates a SaaS starter with SQLite, then cargo rullst dev builds it and serves it at http://localhost:3000.

⚑ Rullst in 30 seconds

With Rust installed (rustup.rs):

cargo install cargo-rullst --version =13.0.0-alpha.4 --locked
cargo rullst new my_app    # choose the Blank, API or SaaS starter
cd my_app
cargo rullst dev           # rebuilds and restarts every time you save

That's it: a running application, generated as readable Rust you can change β€” no hidden runtime magic. The first build compiles the framework's dependencies and can take a few minutes; later rebuilds are much faster (build times). The version is named because 13.0 is still a prerelease (why). Want a bigger starting point? Copy an application from examples/: a complete LMS, ERP or portfolio, or the blog showcase (where the examples live).

Installation and prerequisites Β· Zero-to-Hero tutorial Β· Build a JSON REST API Β· CLI reference

Stuck? cargo rullst doctor checks your toolchain and free disk space and, inside a project, its configuration, database and migrations. cargo rullst --help lists every command, cargo rullst tour walks through the main ones, and cargo rullst alone opens an interactive menu.

Prefer an interactive dashboard? Run cargo rullst dash

Rullst terminal dashboard with project information, logs and controls

Recorded screenshot; layout and controls can differ by version. Development workflow.

πŸ¦€ Code that says what it does

use rullst::{html, routes, Markup, Server};

async fn home() -> Markup {
    html! {
        <div class="min-h-screen bg-slate-900 text-emerald-400 flex flex-col items-center justify-center font-sans">
            <h1 class="text-5xl font-extrabold mb-4">"Hello, Rullst! πŸ“œπŸ¦€"</h1>
            <p class="text-slate-400 text-lg">"Your first typed route is running."</p>
        </div>
    }
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let app = routes![
        get("/" => home)
    ];

    Server::new(app).run(3000).await?;
    Ok(())
}

HTML lives in a compile-time html! macro, routes are typed and pages are server-rendered β€” HTMX-ready, with no JavaScript bundle to build. This snippet comes from the Zero-to-Hero tutorial, and CI compiles it straight from that page.

Prefer a JSON API?
use rullst::{Server, ServerError, routes, server::Json};
use serde::Serialize;

#[derive(Serialize)]
struct HealthResponse {
    status: &'static str,
    framework: &'static str,
}

async fn health() -> Json<HealthResponse> {
    Json(HealthResponse {
        status: "ok",
        framework: "Rullst",
    })
}

#[tokio::main]
async fn main() -> Result<(), ServerError> {
    let app = routes![
        get("/api/health" => health),
    ]
    .layer(rullst::server::from_fn(
        rullst::security::headers_middleware,
    ));

    Server::new(app).run(3000).await
}
curl http://127.0.0.1:3000/api/health
# {"status":"ok","framework":"Rullst"}

Build your first REST API step by step.

One framework, the whole product. Secure by default: Argon2id, sessions, passkeys, OAuth2/OIDC, CSRF, strict headers, WAF and login jail. Data that stays correct: Active Record, transactions, migrations and an outbox on SQLite, PostgreSQL and MySQL. Starters and examples: Blank, API and SaaS starters, plus LMS, ERP, Portfolio and blog examples, all ordinary Rust you own. Made for AI coding: explicit APIs, compile-time macros, typed errors, no runtime reflection. Payments and email: Stripe billing with signed webhooks; Resend, AWS SES, SendPulse and SMTP. AI built in: OpenAI, Claude, Gemini, DeepSeek and Ollama with prompt-injection filtering and PII masking. See inside your app: Studio telemetry and the Nexus admin with a security radar. Web first, installable: HTMX, JSON APIs, and installable PWAs for Google Play and the Microsoft Store.

Every capability has a documented boundary β€” security middleware does not replace your authorization rules, and databases are not interchangeable. See the capability ledger Β· Why Rullst? Β· Axum & SQLx escape hatches

🌍 Built with Rullst

Real applications running today, every one of them built with Rullst. Click to explore.

Showcase built with Rullst: SSR, LiveView, Wasm, ORM, billing, security and AI demos
🌐 Showcase β€” SSR, LiveView, Wasm, ORM, billing, security and AI demos Β· Open β†—
LMS built with Rullst: course catalog and learning platform
πŸŽ“ LMS β€” course catalog and learning platform Β· Open β†—
Portfolio built with Rullst: projects, experience, Nexus and Studio
πŸ’Ό Portfolio β€” projects, experience, Nexus and Studio Β· Open β†—
SaaS in production built with Rullst: real purchases with Stripe
πŸ›’ SaaS in production β€” real purchases with Stripe Β· Open β†—

The demos scale to zero when idle, so the first visit can take a few seconds to wake up β€” that is hosting startup, not Rullst's request time. The SaaS checkout is live and charges real money; the Showcase payment demos are not.

▢️ Watch: how to build a SaaS with Rullst

Where the examples live

Rullst's examples have two homes:

  • The live demos above β€” their code and deployment recipes are in the Rullst/examples repository. They are upgraded on their own schedule, so a demo can run an earlier Rullst release than the one this page describes.
  • examples/ in this repository β€” applications built and tested with the current framework source: complete LMS, ERP and Portfolio applications (the former starters of cargo rullst new), the blog showcase and a WebGPU wave demo. The SaaS recipe generates the SaaS starter and runs its sign-in and tenant-scoped notes on a disposable SQLite database (Linux). Copy any of them to start from it; the examples guide shows how to run each one.

πŸ—οΈ Architecture

Rullst architecture. Your app, from the Blank, API or SaaS starter or copied from an example (LMS, ERP, Portfolio, Blog), sits on four layers: Product (rullst-capital payments, rullst-mail email, rullst-ai AI and RAG, rullst-messaging queues, rullst-connect OAuth2/OIDC); Trust (rullst-auth identity and sessions, rullst-security WAF, headers, CSRF and RASP); Data (rullst-orm Active Record, migrations and transactions, rullst-orm-macros); Runtime (rullst-core HTTP runtime and routing, rullst-macros html!). Everything runs on Axum, Tokio, Tower and SQLx. Tools: cargo-rullst CLI, rullst-studio control room, rullst-nexus admin. One facade crate, rullst, enables only the features you need.

Rullst is a family of focused crates in one versioned workspace: v13 publishes 20 packages with the same version, and the rullst facade compiles only the features you select. Each package has a maturity tier. Core packages are needed by every application. Extensions are optional and supported. Experimental packages are optional, may change between 13.x releases and are not validated in every scenario β€” experimental does not mean broken. The maturity tiers page defines each promise, and the specification records the detailed feature and provider boundaries.

Browse the 20 packages
Crate Focus Tier
rullst Public framework facade and feature selection Core
rullst-core HTTP runtime, routing, lifecycle and telemetry Core
rullst-orm Relational models, transactions and capability-specific persistence Core
rullst-security Defense-in-depth middleware, guards and audit helpers Core
rullst-macros Compile-time HTML and application macros Core
rullst-orm-macros Typed ORM code generation Core
cargo-rullst Project scaffolding, development and upgrade CLI Core
rullst-auth Passwords, sessions, passkeys and authorization helpers Extension
rullst-connect OAuth2/OIDC identity integrations Extension
rullst-ai Guarded local/cloud clients and tenant-aware retrieval Extension
rullst-capital Billing contracts, Stripe and experimental InfinitePay adapters, webhooks Extension
rullst-mail Transactional email with Resend, AWS SES, SendPulse and SMTP transports, and delivery controls Extension
rullst-messaging Broker-neutral contracts and durable local messaging Extension
rullst-studio Local developer control room Extension
rullst-nexus Registered-model admin with explicit access policy Extension
rullst-iot Bounded no_std helpers and signed OTA verification, not device integration Experimental
rullst-privacy Proportional age-assurance policies and optional consent records Experimental
rullst-supervision Transparent exam and parental supervision contracts Experimental
rullst-media Private course video with Bunny Stream and an optional S3/R2 adapter Experimental
rullst-labs Programming-exercise contracts; you bring the runner Experimental

πŸ€– For AI assistants

The documentation site publishes llms.txt (an index of every book page in reading order) and llms-full.txt (the full Markdown of those pages in one file). Projects created with Rullst get their own AGENTS.md, .llms.txt and .rullst/context-map.json (cargo rullst generate:ai-context), and commands whose result is data accept --json (machine-readable output). Use them with the coding assistant you already have: 13.0 has no built-in terminal assistant (the cargo rullst ai command of earlier prereleases was removed). The rullst-ai crate, which adds AI features to your application, is not affected.

πŸŽ“ Learn with Rullst Academy

Rullst Academy is a free learning platform β€” built with Rullst β€” where you can learn Rust, Rullst, Git/GitHub, web development, databases and more through short lessons and practical projects, in Portuguese, English or Spanish.

Start learning at Rullst Academy β†—

πŸ›‘οΈ Engineered like critical infrastructure

Rullst is maintained with the rigor you expect from security software:

  • No panics in production code, enforced by CI across the published runtime crates.
  • No new unsafe outside a reviewed OS/FFI allowlist.
  • At least 90% line coverage, enforced, plus 42 fuzz targets, property tests, sanitizers and Kani/Miri checks on selected critical code.
  • Supply-chain hygiene: RustSec and license policy on every change, SHA-pinned Actions, and an SBOM with build-provenance attestation for every release.
  • A fast Linux gate on every pull request, with the complete Linux/macOS/Windows matrix every night and before every release.

Nexus SOC Threat Radar with WAF, honeypot, prompt-injection and audit counters
The Nexus security radar (recorded screenshot).

These results are evidence for their stated scope, not a security certification of every application built with Rullst.

πŸ›‘οΈ Open the verification dashboard (37 workflows)

Badges are pinned to the main branch; they report the latest matching run, not a certification or deployment guarantee.

Continuous or change-aware gate Development main status Actual scope
Rust CI Rust CI Format, all-target/all-feature Clippy, a Linux gate on pull requests, every Linux shard after merge and the complete Linux/macOS/Windows matrix nightly; Cargo-aware doctests sourced from every tutorial and the main guides, strict DB boundaries, feature boundaries, generated-code checks, and MSRV 1.96.0.
Declared MSRV MSRV 1.96.0 Every publishable manifest declares Rust 1.96.0 and CI runs an explicit workspace all-feature check with that toolchain.
GitHub Actions lint Workflow Lint Validates workflow syntax, expressions, embedded shell, and full-SHA third-party Action pins.
Documentation Documentation Builds the mdBook and rejects broken local links and anchors; scheduled/manual runs also preserve an informational external-link report.
End-to-end smoke E2E Boots the release blog example and verifies HTTP, security headers, form flow, and SQLite persistence.
Codecov β€” whole repository Whole-repository coverage The badge reports the current branch aggregate. The enforced repository floor is β‰₯90% with zero tolerance. For reference, the LLVM run on the v12.0.0 release commit eb11f892 measured 90.3220% (79,813/88,365 lines) before Codecov upload.
Codecov β€” framework libraries Framework library coverage Runtime libraries are enforced separately at β‰₯90%. CLI and proc-macro components stay separately visible; Coverage CI uploads their real LCOV evidence with OIDC.
Cargo Audit Cargo Audit RustSec advisory scan with only governed, expiring exceptions; the daily run also audits the v12 locks.
Security exception governance Security Governance Cross-checks scanner allowlists against the owner/expiry ledger, then independently reruns Cargo Audit.
Cargo Deny Cargo Deny Advisory, license, ban, and source policy.
CodeQL SAST CodeQL Rust semantic analysis after an all-target/all-feature build, plus JavaScript/TypeScript analysis.
OpenSSF Scorecard OpenSSF Scorecard The badge renders the score from the official public Scorecard JSON report; the pinned Scorecard workflow publishes OIDC-authenticated results on each main push and weekly. A score is evidence, not a security certification. Evidence and improvements.
Cargo Machete Machete Unused direct dependency detection.
SemVer checks SemVer Supported library APIs are compared with exact latest non-yanked registry baselines; never-published packages and unsupported proc-macro/binary surfaces are reported explicitly.
Zero-panics policy Zero Panics Denies panic-family operations in published production targets and generated runtime templates.
Unsafe boundary Unsafe Policy Denies new production unsafe code outside the reviewed OS/FFI allowlist.
Secret scanning TruffleHog Verified-secret scan across the configured Git history range.
Spellcheck Spellcheck Repository-wide typo detection.
Crate architecture policy Architecture Compares the real publishable-crate dependency graph with a versioned, reviewed repository policy.
WebAssembly matrix Wasm Compiles Core, the public facade and macros for browser Wasm and WASI Preview 1.
Bare-metal no_std matrix no_std Builds IoT helpers for Cortex-M and RISC-V targets; this is compile evidence, not hardware testing.
IoT integration IoT Host tests, signed OTA invariants, and a Cortex-M build.
IoT crypto containment IoT Crypto Path-aware signed OTA, Vault, advisory, and simulator-boundary checks; no PQC/HSM certification claim.
PR security evidence PR-only evidence Pull-request-only bounded IDOR/RBAC heuristics and CycloneDX SBOM artifact. It intentionally has no continuous main status.
PR mutation diff PR-only evidence Pull-request-only cargo-mutants run over the changed Rust lines; a missed mutant fails it. It intentionally has no continuous main status.

Deep or irreversible workflows are intentionally not presented as continuously green main gates:

Deep evidence Trigger and enforcement
Benchmark regression Weekly, main push, or manual; eight published groups backed by nine Criterion benchmark binaries emit non-blocking alerts at a 20% regression.
Property testing Weekly/manual release-mode invariant testing with 10,000 configured cases.
TSan and ASan Daily/manual package matrices on a pinned verifier-only nightly.
Fuzzing / corpus minimization Forty-two manual libFuzzer jobs, one per declared target, required as release evidence; weekly/manual corpus maintenance is informational.
OWASP ZAP Manual baseline over three release surfaces: the generated REST API and the LMS example are blocking with no ignored alerts; the deliberately CDN-backed blog showcase remains an explicitly informational boundary.
Kani, Miri, mutation testing, cargo-udeps Manual or scheduled research signals: selected Kani/Miri scopes are strict, while mutation and unused-dependency findings remain explicitly informational.
v13 Verus pilot Optional production-linked age-policy proof with pinned tooling and three negative controls. Hosted registration/acceptance remains pending; no framework-wide correctness claim.
GitHub Pages Deploys development documentation from main; it is not a code-quality gate.
Release and provenance Exact version tags only: exact-SHA admission of the full CI matrix, package-all, evidence bundle, checksums, GitHub build-provenance attestation, changelog-derived release notes, and ordered crates.io publication. This does not claim a project-wide SLSA level or independent certification.

Scheduled events use the repository's default branch, so scheduled and continuous development evidence refer to main; the frozen v12 line has its own branch. The branch-protection profiles and the exact scope of all 37 workflow definitions in this source branch are documented in WORKFLOWS.md.

πŸ”„ Upgrade with a preview

To move an existing application to a newer Rullst, install the newer CLI and run, from the application's root:

cargo rullst upgrade --dry-run
cargo rullst upgrade

The CLI coordinates dependency updates, reports the source changes a release needs at file:line, backs up controlled files and runs compiler checks. Review the plan and your application's behavior; it does not migrate production data. Assisted upgrade tutorial Β· v12 β†’ v13 adoption guide

πŸš€ Versions: v13 is a prerelease

13.0.0-alpha.4 is the latest v13 prerelease and the 13.0 feature freeze; 13.0.0-rc.1 (fixes and documentation only) and then 13.0.0 follow. Cargo never selects a prerelease on its own, so cargo install cargo-rullst and cargo add rullst without a version still pick the end-of-life 12.x. Until 13.0.0 is released, name the exact version:

cargo install cargo-rullst --version =13.0.0-alpha.4 --locked

Projects generated by cargo rullst new already pin the framework with =13.0.0-alpha.4. In a hand-written Cargo.toml, use = too: a plain "13.0.0-alpha.4" also accepts later prereleases, whose API may change. rullst has no default features, so name the database profile you use and capabilities such as auth or nexus (feature matrix):

[dependencies]
rullst = { version = "=13.0.0-alpha.4", features = ["strict-postgres"] }

The v12 line reached end of life on 16 October 2026: 12.3.0 is its last release and the v12 branch is frozen (v5 is no longer maintained either). crates.io has since yanked the zip releases that 12.x's Studio needs, so a new 12.x project no longer resolves its dependencies; existing projects with a Cargo.lock keep building. Start new work on v13, and move existing applications with the v12 β†’ v13 adoption guide.

What is new in v13

Since 12.x. The changelog and the v13 adoption guide list every change.

  • Three starters and complete examples: cargo rullst new offers Blank, API and SaaS through a wizard that previews the files and commands before writing anything (--dry-run without prompts) and initializes a Git repository (--vcs none skips it). The LMS, ERP, Portfolio and blog applications are in examples/ to copy from.
  • A friendlier CLI: cargo rullst tour (a guided walkthrough of the main commands), a searchable command list on the cargo rullst home screen, live request metrics in cargo rullst dash, toolchain, project, database, migration and disk checks with fixes in cargo rullst doctor, cargo rullst completions <shell>, and cargo rullst add <capability> to enable mail, auth, AI, Nexus or Studio in an existing project.
  • One deployment path: cargo rullst deploy writes a Dockerfile, compose.yaml and Caddyfile for any Linux VM with Docker or Podman, with guides for Hetzner Cloud, DigitalOcean, Oracle Cloud and Google Cloud (guide).
  • Security evidence report: cargo rullst audit --report writes a Markdown, HTML or JSON report mapped to OWASP ASVS 5.0 Level 1, with a personal-data inventory and accessibility checks β€” evidence for a reviewer, not a certification (guide).
  • Efficiency figures (Experimental): cargo rullst green reports measured binary and image size, idle memory, dependency count and CPU time per request, each with its method, and a carbon figure only as a labelled SCI estimate from your own inputs (guide).
  • For AI assistants: every --json output follows one contract with a schema id, and the site publishes llms.txt and llms-full.txt.
  • Faster development builds: generated projects get a development profile that shortened their first build by 15 to 19 % and a rebuild after an edit by about half on the measuring machine (build times).
  • Progressive web apps: cargo rullst make:pwa (manifest, service worker, offline page), a Google Play Trusted Web Activity configuration and a Microsoft Store guide (guide).
  • Studio production monitoring: a read-only monitoring endpoint, and a standalone Studio for remote projects with a project switcher, history and alerts (guide).
  • OAuth login: a login challenge store and cargo rullst make:oauth for Google, GitHub, Microsoft and Apple.
  • i18n: translations, CLDR plural rules and number, currency and date formatting.
  • Typed transactions: Orm::transaction returns the error of its closure.
  • Minimal default features: rullst and rullst-orm compile no database code until you select a profile.
  • Views and data: html! returns Markup and has @if, @for and @match; dirty-tracking save(); Schema constraints and date/time columns; revocable sessions; multipart uploads.
  • Assisted upgrades: cargo rullst upgrade reports v12 β†’ v13 source findings at file:line and applies per-release rules.
  • Opt-in candidates: email login, scoped API tokens, active-session management with remote logout, private S3/R2 storage with resumable uploads, durable outgoing webhooks and recurring publications, Redis Streams messaging, distributed tracing and a recoverable Live UI are in the 13.0 prereleases behind their own features; each guide states what has been validated and what is still open.
What v13 removed from 12.x
  • The Omni Tauri shells (make:omni, omni) and offline-sync: use a PWA.
  • rullst-capital providers other than Stripe and the experimental InfinitePay, payouts and NFS-e: use those or an application-owned adapter on the provider traits.
  • rullst-mail providers other than Resend, AWS SES, SendPulse and SMTP: write a MailDriver in your application.
  • The orm-polyglot and polyglot features, which enabled every storage adapter at once: name the adapters you use.
  • The CLI's Foundry (foundry:init, foundry:deploy), Nix (nixify, new --nix), Buildah (generate:buildah, new --buildah) and gRPC (make:grpc) generators: files they wrote stay yours, and the Advanced deployment page shows Nix, Buildah, Podman Quadlet and Kubernetes setups.
  • The Fly.io, Render and Railway targets of cargo rullst deploy: it writes the Dockerfile, compose.yaml and Caddyfile for a Linux VM; existing provider files keep working with the provider's own CLI.
  • The self-updater's download and binary replacement (update check, update verify, update stage, update install): install a newer CLI with cargo install cargo-rullst --version =<version> --locked, which a daily notice prints.
  • The LMS, Blog, Portfolio and ERP starters of cargo rullst new: they are applications in examples/.

The v13 adoption guide gives each change its replacement, and cargo rullst upgrade --dry-run reports the ones your application uses.

v13 roadmap Β· Compatibility policy Β· v12 release record

⚑ Performance you can inspect

The benchmark hub publishes eight Criterion groups backed by nine benchmark binaries. They measure specific workloads and regressions β€” not universal speed or a ranking of frameworks. Read the methodology alongside the results.

🀝 Build Rullst with us

Try a starter or an example, report a reproducible bug, improve a tutorial or contribute a focused change with tests. Documentation, accessibility and integration feedback matter as much as new features.

Contributing Β· Issues Β· Discord Β· Community links Β· Our story and philosophy

⭐ If Rullst sparks your curiosity, a star helps more developers discover it.

MIT license Β· Report a vulnerability privately Β· Website privacy notice

All glory and honor to God Χ™Χ”Χ•Χ” in the name of Yeshua the Messiah (Jesus Christ).

Pinned Loading

  1. Rullst Rullst Public

    πŸ“œπŸ¦€πŸŒ Intelligent, Secure and Effortless Super Full-Stack Framework πŸŒπŸ¦€πŸ“œ"Rust for those who want to build securely and easily, but not suffer"πŸ€– The Next-Gen Paradigm: Designed for Humans & AI. Rullst …

    Rust 19 6

  2. Benchmarks Benchmarks Public

    Benchmarks

    C 4 1

  3. Rullst.github.io Rullst.github.io Public

    HTML 1

Repositories

Showing 8 of 8 repositories

Top languages

Loading…

Most used topics

Loading…