Rullst 🚀
"Rust for those who want to build, not suffer."
Read this in Português (Brasil).
Rullst (Rust + Fullstack) is an opinionated, developer-first full-stack web framework for Rust, obsessively designed for Emotional Productivity.
It was created to solve the biggest problem in the Rust web ecosystem: the high barrier of entry that turns web programming into a PhD research on compiler design. We believe you should spend your energy building your business, not fighting borrow checkers and manual routing setups.
💡 The Rullst Manifesto
"Most Rust frameworks treat the web developer like a compiler engineer. Rullst treats the developer like someone who wants to build awesome products at lightning speed."
In the current ecosystem, to write a simple CRUD, you are forced to glue dozens of crates together, manually map nested routing trees, write verbose ORMs requiring multiple structs, and continuously clone variables inside dynamic HTML templates just to satisfy the borrow checker.
Rullst redefines this experience. We offer an integrated, cohesive developer experience that brings the sweetness and iteration speed of Laravel and Next.js together with the Formula 1 performance and military-grade safety of Rust, Axum, and Hyper:
- No More Frankenstein setups: A single cohesive framework managing your server (Axum), your database (
rust-eloquent), and your HTML rendering. - No More Borrow Checker fights in UI: Our compile-time JSX-like
html!macro processes pure elements on the server (SSR). It generates optimized string-builders directly at compile time. It's blazing fast, safe, and SEO-friendly by default. - First-Class Active Record ORM: Native integration with your
rust-eloquentpackage. Interacting with databases is as intuitive asuser.save(). - AI-Native Engineering & AI-Friendly: Designed from the ground up for modern pair-programming. Strict type-safety, zero dynamic runtime magic, automatic
.ai-rulesscaffolding, and structured schemas prevent AI agent hallucinations and allow instant compiler self-correction.
🎨 The "Hello World" That Conquers at First Sight
This is a complete, fully operational web server with type-safe routing, compile-time HTML rendering, and automatic XSS escaping. It is exactly 20 lines of code:
use ;
async
async
⚡ Get Started in 10 Seconds
Scaffold a fully operational application with an in-memory SQLite database, mock migrations, and an Active Record demo model in a single command:
# 1. Run the CLI scaffolding tool directly from our monorepo workspace
# 2. Enter the project folder
# 3. Start your high-performance full-stack app immediately!
🛠️ The Full-Stack Active Record Experience
When your application grows, Rullst scales with you using Active Record:
use ;
use ;
async
// 1. Declare the artisan macro here to intercept CLI arguments for migrations
artisan!;
async
🗄️ Database Migrations (Artisan CLI)
Rullst includes an embedded, high-performance migration runner. You don't need external binaries. The framework ships with a CLI tool that parses pure Rust closures to construct your schema safely.
# Scaffold a new migration using pure Rust DSL
# Run all pending migrations against your database
# Rollback the last batch of migrations
Under the hood, these commands are intercepted by the rullst::artisan!() macro, guaranteeing the server never starts when you only want to migrate your database.
🎯 Architecture under the hood (v0.4.0)
Rullst is structured as a modular monorepo Cargo Workspace to optimize compile times:
rullst(Core Crate): Wraps and configures Axum, handles life-cycle DB injection, and exposes response types.rullst-macros(Compiler-Engine): Procedural JSX-like compiler that outputs safe memory-buffer string extensions in compile time.cargo-rullst(CLI Scaffold): Scaffolds clean, isolated local-linked workspaces that compile out-of-the-box.
For detailed technical conventions, directory structures, and framework APIs, refer to our Official Specification (SST).
📝 License
Distributed under the MIT License. See LICENSE for more details.