Duxt
The meta-framework for Jaspr -- Build full-stack Dart web apps with module-based architecture, file-based routing, and powerful scaffolding.
Features
- Module-Based Architecture -- Organize code by feature with pages, components, models & APIs
- File-Based Routing -- Pages and markdown files auto-generate routes
- 3 Rendering Modes -- Static (SSG), Server (SSR), or Client (SPA)
- Namespace Support -- Nest modules under namespaces like
Admin/Post - Built-in Tailwind CSS -- Automatic compilation, no extra dependencies
- Desktop Apps -- Native desktop via Tauri with
duxt build desktop - Scaffold Generator -- Full CRUD from a single command
- Markdown Content -- Docs and blog content with frontmatter
- Security Middleware -- CORS, rate limiting, CSRF, security headers
- Multi-Target Builds -- Cross-compile for Linux, macOS, Windows
- Performance Tracing --
--perfflag for rebuild stage timings
Quick Start
duxt create my-app
cd my-app && dart pub get
duxt dev
Your app runs at http://localhost:4000. Choose from static, server, or client templates when creating.
Project Structure
my-app/
+-- lib/
| +-- blog/ # Feature module
| | +-- pages/
| | | +-- index.dart # -> /blog
| | | +-- _id_.dart # -> /blog/:id
| | +-- content/
| | | +-- intro.md # -> /blog/intro
| | +-- components/
| | +-- model.dart
| +-- admin/posts/pages/ # -> /admin/posts (namespace)
| +-- theme/home/pages/ # -> / (theme strips prefix)
| +-- shared/layouts/
+-- server/ # Backend (server template)
+-- web/styles.tw.css # Tailwind input
+-- duxt.config.dart
CLI
duxt dev # Dev server + hot reload
duxt dev --perf --verbose # With performance tracing
duxt build # Production build
duxt build desktop # Desktop app (Tauri)
duxt start --open # Run production server
duxt g module posts # Generate module
duxt g module Admin/Post # Namespaced module
duxt scaffold posts title:String # Full CRUD generation
duxt d module posts # Delete module
duxt info # Project summary
duxt doctor # Environment check
See all commands and options at duxt.dev/duxt-cli.
Ecosystem
| Package | Description |
|---|---|
| duxt | CLI & runtime framework |
| duxt_html | Flutter-style HTML components for Jaspr (80+ typed components) |
| duxt_ui | Beautiful, accessible UI components (50+) |
| duxt_orm | ActiveRecord-style ORM -- PostgreSQL, MySQL & SQLite |
| duxt_signals | Reactive signals for lightweight state management |
| duxt_icons | 200,000+ icons from Iconify -- inline SVG for SSR |
| duxt_mcp | MCP server for AI tools (Claude Code, Cursor) |
Requirements
- Dart SDK ^3.0.0
- Jaspr ^0.22.2
- Tailwind CSS v4+ (auto-detected)
Documentation
Full guides, API reference, and tutorials at duxt.dev
Contributing
Contributions welcome! See CONTRIBUTING.md.
License
MIT -- see LICENSE.
Built by the duxt.dev team