You focus on product. We focus on performance.
Dust is a high-performance alternative to build_runner. It offers built-in
support for data classes, validation, JSON serialization, HTTP clients, routing,
state management, and database codegen.
- Stable public APIs for features marked stable.
- Performance and quality improvements should change generated code, the Rust engine, and runtime internals first.
- Features marked 50% stable may still receive API refinements before stabilization.
- Your handwritten product code should stay focused on product logic.
Important
Tired of waiting for your code to generate? Dust is built to handle the large Flutter projects with near-instant rebuilds.
- 🚀 Performance: Written in Rust. Generates thousands of files in seconds.
- 🎯 Product Focus: We handle code generation so you focus only on product.
- 🧱 Stable By Design: Public APIs are designed to stay stable; improvements should land in generated code and internals first.
- 🧩 All-in-One: Data classes, JSON, validation, HTTP clients, routing, state, and DB codegen in one unified tool.
- 🔄 Incremental: Intelligent watch mode only rebuilds the specific files you edited.
- 🛡️ Type Safe: Advanced validation catches errors before you even run your app.
| Feature | Stability | Description | Documentation |
|---|---|---|---|
| Data Classes | Stable public API. API will not change. | ToString, Eq, HashCode, and CopyWith generation. |
Read Guide → |
| JSON Serialization | Stable public API. API will not change. | Blazing fast JSON encode/decode with support for renames and custom codecs. | Read Guide → |
| Validation | Stable public API. API will not change. | Generated model and Flutter form validation from typed field rules. | Read Guide → |
| HTTP Client | Stable public API. API will not change. | Type-safe, Dio-backed API client generation from annotations. | Read Guide → |
| Routing | 50% stable. API may still be refined. | Boilerplate-free Navigator 2.0 routing with typed parameters. | Read Guide → |
| State Management | 50% stable. API may still be refined. | Lightweight, high-performance state containers with action generation. | Read Guide → |
| Dust DB | 50% stable. API may still be refined. | SQLx-style sqlite3 query validation, DAOs, and row mapping. | Read Guide → |
| Firebase | Coming soon. | Typed Firebase integration and generated data access helpers. | (Coming Soon) |
| Supabase | Coming soon. | Typed Supabase integration and generated data access helpers. | (Coming Soon) |
| i18n | Planned. | Extraction-first translation system with chunked generation. | (Coming Soon) |
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/y3l1n4ung/dust/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/y3l1n4ung/dust/main/install.ps1 | ieximport 'package:dust_dart/serde.dart';
part 'user.g.dart';
@Derive([ToString(), CopyWith(), Serialize()])
class User with _$User {
final String name;
const User(this.name);
}dust build| Command | Description |
|---|---|
dust build |
Run a full project generation. |
dust watch |
High-performance file watcher for instant rebuilds. |
dust check |
CI mode: Verifies if generated files are up to date. |
dust clean |
Clears all generated files and persistent caches. |
Dust is open-source and we welcome all contributors!
- Found a bug? Open an issue
- Rust/Dart Setup: See CONTRIBUTING.md
- Architecture: Read the Developer Guide
MIT. See LICENSE. Copyright (c) 2026 Ye Lin Aung.