惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
D
Darknet – Hacking Tools, Hacker News & Cyber Security
M
MIT News - Artificial intelligence
腾讯CDC
IT之家
IT之家
Microsoft Azure Blog
Microsoft Azure Blog
M
Microsoft Research Blog - Microsoft Research
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
L
LangChain Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 【当耐特】
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
Recent Announcements
Recent Announcements
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
T
The Blog of Author Tim Ferriss
罗磊的独立博客
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
D
DataBreaches.Net
爱范儿
爱范儿
Schneier on Security
Schneier on Security
P
Palo Alto Networks Blog
Spread Privacy
Spread Privacy
Hugging Face - Blog
Hugging Face - Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
K
Kaspersky official blog
P
Privacy & Cybersecurity Law Blog
博客园_首页
T
Threat Research - Cisco Blogs
I
InfoQ
有赞技术团队
有赞技术团队
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Recorded Future
Recorded Future
量子位
H
Hackread – Cybersecurity News, Data Breaches, AI and More
GbyAI
GbyAI
Cyberwarzone
Cyberwarzone
B
Blog
C
Check Point Blog
P
Proofpoint News Feed
S
Securelist
A
Arctic Wolf

DEV Community

How I Built a Cinematic Scroll Experience with GSAP and ScrollTrigger I Built a Free Spelling Bee Solver and Analysis Tool — Here's What It Does Stop Over-Engineering Your UI: Material 3 for Blazor (Without the JS State Management Nightmare) ASF Project Spotlight: Apache Iceberg babelForge TIL 5/27/2026 Broken Software I built a CLI that scaffolds agentic workflows for Claude Code Testing a LiveView App with Playwright: Fixing Navigation Timeouts I Turned on Agent Tracing for 30 Days. 4 Hidden Bottlenecks Were Eating 47% of My Tokens. How I monitor CVEs daily with a 50-line Python script Apache Geode 2.0, Part II: Rebuilding a Distributed System for the Modern Java Era HiTerm: A Free Remote Terminal for AI Coding Agents (Claude Code, Codex, Gemini CLI) 5 Free Online Tools You Didn't Know About — No Signup How I Finished My AI Code Reviewer Using GitHub Copilot The auth_rls_initplan linter has a blind spot: SECURITY DEFINER bodies Upgrading OtakuShelf to JHipster 9.1.0 Polishing the catalog (and reading the agent's receipts) Adding the anime side without holding my breath Pairing up: scaffolding OtakuShelf with an agent State.js Tutorial: Creating Reusable UI Components with Pure CSS Reactivity Deskbrid: A Linux Desktop HAL Built Entirely by AI Agents The Day the Treasure Hunt Engine Drowned in 300 ms Queries How I Built a Marriage Biodata PDF Generator in Next.js Supply Chain & AI Security: GlassWorm Takedown, Prompt Injection RCE, Ubuntu 24 Hardening AI Agent Production Challenges: Failures, Starlette Vulnerability, Code Gen SQLite Bugfix, PostgreSQL Migrations & Filesystem API Paradigm CUDA 13.3 Lands, AI Writes Blackwell Kernels, & FP4 VRAM Optimization for LLMs How I Found a Fake Job Assessment Repo Hiding Malware Inside SVG Files Building the Pipes: Core Data Engineering Concepts Explained Ultimate 1-Minute Xray/3x-ui Setup: VLESS, Hysteria2, Caddy Self-Steal & Smart Outbounds in One Script [Boost] Vamos falar de IA. Mas de outro lugar. Stop Duplicating Code! Is "Integration Hell" Just Laziness or a Systemic Architecture Failure? The Burden of API Versioning: URI or Header? Troubleshooting oracle database replication issues. Building AI Agents for Compliance Monitoring in Finance: Architecture That Passes Auditors How to Ask for Crypto Support Without Exposing Secrets Your AI Coding ROI Is Disappearing and Your Dashboard Won't Tell You Are Companies Really Doing Layoffs "For AI"? The Internet Is for Agents How Hermes Agent Helped Me Ship an Indonesian NLP Parser in One Week I built DeepWrap: a Python SDK and CLI for DeepSeek Chat Your "Autonomous Agent" Is Just a Cron Job With Better Marketing Tensors Explained Part 1: How AI Systems Represent Data Stop pasting production JWTs into random online decoders. I Tried Building a Complex Security Tool with a 1.5B Local Model — Here's What Broke I Built an MCP Server for INDmoney — Ask Claude About Your Portfolio in Plain English # Como criei um varredura diária de papers de IA com Ollama + Telegram Inline Wikipedia for every article you read How I Built a Multi-Chain DEX Trading Bot with Hermes Agent as My Trading Partner Stop Debugging in the Dark: How to Build a Real-Time Control Room for Autonomous AI Agents Kafka sem duplicação – 2 padrões pra você dormir em paz What Building My Own AI Bot Taught Me About Generative AI Control Plane Sovereignty: Why Your AI Stack Probably Isn't Sovereign A Superpower Behind Smart Decisions: Python in Data Analytics Base64 explained — what it is, when to use it, and the gotchas that bite developers AI fatigue is very real and people are fighting back! I built 39 free browser-based dev tools — here's every decision I made and why BrowserRouter You Solved the Hard Technical Problems. Operational Debt Is What's Going to Kill Your Company. Pinpoint Answer Today: Claude Code vs Cursor vs Copilot — I Tested All 3 for 90 Days on Real Projects Hermes Autonomy Substrate: compiling my judgment into a removable approval gate I found the r/openclaw thread with 27 upvotes where someone gave an agent a real iPhone and now I can’t stop thinking about it INP in production: what we wish we had measured earlier How Traveling Shaped My Mind and Helped Me Respect Other Cultures Why 'Who Last Touched This File' Is the Wrong Question Time When More Layers Meant Worse Model ... Birth Of Residual Why I Built a Privacy-First Discord Alternative Beyond the Numbers: How Ada Lovelace Envisioned the Dawn of Symbolic Computation (1833–1834) Millwright-Inspector: A Methodology for Software Development with AI Coding Agents Build Your First Claude Skill: An Gmail-to-GDrive Receipt Filer in 20 Minutes When Preprocessing Helps-and When It Hurts: Why Your Image Classification Model's Accuracy Varies So Much Treasure Hunt Engine: How We Blew Up the Docs and Built a System That Actually Works The Blacklist Nightmare: How to Get Off Spam Lists Fast How I built a Bluesky scraper using the AT Protocol API (and published it on Apify) How to Prompt AI Coding Tools Like a Senior Dev (2026) The Moment the JVM Tuning Knob Broke Our Treasure Hunt Engine Most Software Is Workflow Design Zendesk Relate 2026 - What I learned Me encanto! Pure CSS 3D Cat A Practical Home Energy OS with Home Assistant BrowserRouter, Routes, Link, and useNavigate Developers keep failing AWS SAA-C03 for the same reason (and it's not lack of AWS knowledge) I Tested 5 AI Coding Tools for 30 Days — Here's What Actually Works LogicNodes: 2,316 Deterministic AI Workers via HTTP — No Signup Required The Better Primary Key: A Guide to ULIDs for Rails Developers Why Hytales Treasure Hunt Engines Explode Under Load (And How We Fixed It Without Losing Ourselves) Why I think AI tools should live closer to the browser workflow Stacks en entrevistas técnicas: 3 problemas resueltos paso a paso How Would I Build For Right Now How to Set Up a Clean Page Object Model (POM) in Selenium with Java Part 2: Replacing a 3.4MB video with 40kb of scripted GSAP animations: adding a camera Hospedando sites de graça na AWS + Cloudflare Google's Gemini 3.5 Flash is 4x faster than other frontier models. Here is how to call it from TypeScript. Week 1 I built a code runner for 14 languages - try to break it and test How to Analyze Your Google Analytics Data with AI: GA4 AI Agent Guide 🇺🇸 Glancer — Ask your Rails database questions in plain language
I just created the best web FullStack framework in Rust language: the Rullst! I did with the help of AI, but my tokens are over, can you help me?
@venelouis · 2026-05-28 · via DEV Community

I would love to continue this...

Rullst Logo

Rullst - 📜🦀🌐🤖🚀

"Rust for those who want to build, not suffer."

Read this in Português (Brasil).

[!WARNING]

Pardon our dust! 🚧

Rullst is under constant development and rapid improvement. As we stabilize the framework and update core dependencies, you might occasionally encounter bugs or breaking changes. We sincerely apologize for any crashes! Please consider becoming a contributor to help us build the best web framework on the internet. 🦀❤️

Crates.io
License: MIT
Status: v1.0.6
Built with: Axum & Rust Eloquent

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-eloquent package. Interacting with databases is as intuitive as user.save().
  • AI-Native Engineering & AI-Friendly: Designed from the ground up for modern pair-programming. Strict type-safety, zero dynamic runtime magic, automatic .ai-rules scaffolding, and structured schemas prevent AI agent hallucinations and allow instant compiler self-correction.

🏆 Everything You Need, Built-In (v1.0.1)

Rullst ships with 7 completed milestones covering every layer of modern web development:

Category Features
🛠️ CLI & DX cargo rullst new wizard, make:controller, make:model -m, make:middleware, make:worker, generate:openapi, cargo rullst upgrade (self-healing)
🗄️ Database Active Record ORM, Migrations (db:migrate, db:rollback, db:status), Seeders & Factories, HasMany / BelongsTo / BelongsToMany, Eager Loading
🔒 Auth & Security Argon2 hashing, JWT & Cookie sessions, CSRF protection, Social OAuth (Google, GitHub, Facebook, Twitter via rust-socialite), cargo rullst auth scaffolding
Frontend HTMX first-class support, TailwindCSS auto-integration, partial template rendering, Rullst Live (Phoenix LiveView-inspired server-driven UI), Wasm Islands (#[client_component])
📦 Production Queue (SQLite/Redis), Cache (Memory/Redis), Task Scheduler (Cron), Docker multi-stage builds, Rullst Horizon dashboard
🏢 Enterprise Declarative Validation, Mailer (SMTP/Resend/SendGrid), Storage (Local/S3/R2), WebSockets, Multi-Tenancy, Feature Flags, E2E Testing
🚀 Unfair Advantage AI Core (rullst::ai — OpenAI/Gemini/Anthropic/Ollama + RAG), Rullst Studio (visual DB GUI), Self-Healing Error Console (AI auto-fix), Hot Reloading via dylib

🎨 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 rullst::{html, routes, Server, Router, response::{Html, IntoResponse}};

async fn hello() -> impl IntoResponse {
    Html(html! {
        <main style="display: grid; place-items: center; height: 100vh; background: #090d16; color: #fff; font-family: system-ui;">
            <div style="text-align: center;">
                <h1 style="font-size: 4rem; margin: 0; background: linear-gradient(135deg, #00f2fe, #4facfe); -webkit-background-clip: text; -webkit-text-fill-color: transparent;">
                    "Hello, World!"
                </h1>
                <p style="color: #64748b; font-size: 1.25rem; margin-top: 1rem;">
                    "Written in Rust. Rendered in microseconds. Safe by default."
                </p>
            </div>
        </main>
    })
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    Server::new(routes![get("/" => hello)])
        .run(3000)
        .await?;
    Ok(())
}

Enter fullscreen mode Exit fullscreen mode


⚡ Get Started in 10 Seconds

Scaffold a fully operational application with our interactive CLI wizard!

# 1. Run the interactive CLI scaffolding tool
cargo rullst new

# The wizard will prompt you:
# 🚀 App name? (no spaces allowed) -> my-app
# 🏗️ What would you like to build? -> Full-Stack Web App (SaaS, Portfolio, Blog) / REST API
# 🔥 Enable Hot Reloading by default? -> Yes / No
# 🗄️ Will your project need a Data Base? -> Yes / No
# 💾 Select a DB Provider -> Sqlite / Postgres / MySQL/MariaDB

# 2. Enter the project folder
cd my-app

# 3. Start your high-performance full-stack app immediately!
cargo run

# 🔥 Or enable instant Hot Reloading (no server restart!):
HOT_RELOAD=1 cargo run

Enter fullscreen mode Exit fullscreen mode


🛠️ The Full-Stack Active Record Experience

When your application grows, Rullst scales with you using Active Record:

use rullst::{html, routes, Server, Router, response::{Html, IntoResponse}};
use rust_eloquent::{Eloquent, EloquentModel, sqlx::{self, FromRow}};

#[derive(Debug, Clone, FromRow, rust_eloquent::Eloquent)]
#[eloquent(table = "users")]
pub struct User {
    pub id: i32,
    pub name: String,
}

async fn home() -> impl IntoResponse {
    // Elegant, type-safe data fetching
    let users = User::all().await.unwrap();

    Html(html! {
        <div style="background: #0f172a; color: #fff; padding: 5rem; text-align: center; font-family: sans-serif;">
            <h1>"Total Active Users: " {users.len()}</h1>
        </div>
    })
}

// 1. Declare the artisan macro here to intercept CLI arguments for migrations
rullst::artisan!();

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // 2. The artisan! macro automatically intercepts `db:*` commands and exits early.
    // If it's a normal run, it continues server execution here.

    let router = routes![
        get("/" => home),
    ];

    Server::new(router)
        .run(3000)
        .await?;

    Ok(())
}

Enter fullscreen mode Exit fullscreen mode


🗄️ 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
cargo rullst make:migration create_users_table

# Run all pending migrations against your database
cargo rullst db:migrate

# Rollback the last batch of migrations
cargo rullst db:rollback

Enter fullscreen mode Exit fullscreen mode

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.


🛡️ Self-Healing Upgrades

Afraid of breaking changes when upgrading the framework? Don't be. Rullst was built with a "Self-Healing Upgrades" philosophy.

When a new version of Rullst introduces API changes, we never break your code immediately. Instead, we use #[deprecated] warnings. You can update your entire application automatically using our CLI:

cargo rullst upgrade

Enter fullscreen mode Exit fullscreen mode

This command will safely update the Rullst dependency and use Rust's powerful cargo fix refactoring tools to automatically rewrite your code to match the new API signatures. Stress-free upgrades, forever.


🔥 Hot Reloading (Zero Downtime Dev Loop)

Rullst supports Hot Reloading via Dynamic Linking — change your routes, handlers, and templates, and see the changes reflected instantly without restarting the server or losing connections:

# Start your app in hot-reload mode
HOT_RELOAD=1 cargo run

# ⚡ Edit any handler in src/ → Rullst detects the change
# 🔄 Background recompilation of the cdylib
# 🚀 Router hot-swapped atomically — zero downtime!

Enter fullscreen mode Exit fullscreen mode

Under the hood, Rullst compiles your routes as a dynamic library (cdylib), loads it via libloading, and uses a notify file-watcher to detect changes and trigger background rebuilds. The router is swapped atomically via Arc<RwLock<Router>> — the HTTP server never restarts and TCP connections are never dropped.


🎯 Architecture under the hood (v1.0.3)

Rullst is structured as a modular monorepo Cargo Workspace to optimize compile times:

  1. rullst (Core Crate): Wraps and configures Axum, handles life-cycle DB injection, and exposes response types. Ships with production utilities (Queue, Cache, Scheduler), enterprise features (Validation, Mailer, Storage, WebSockets, Horizon), AI-Native core (rullst::ai), Rullst Live (server-driven UI), Wasm Islands, and Hot Reloading via dynamic linking.
  2. rullst-macros (Compiler-Engine): Procedural JSX-like compiler that outputs safe memory-buffer string extensions at compile time.
  3. 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.

rust #rullst