Dazzle Developer Docs¶
DAZZLE is a DSL-first toolkit for building apps from high-level specifications.
# Get started in seconds
cd examples/simple_task && dazzle serve
# UI: http://localhost:3000 | API: http://localhost:8000/docs
What is Dazzle?¶
Dazzle transforms domain specifications written in a human-readable DSL into working applications. Define your entities, surfaces, and workspaces once - get a full-stack app with:
- FastAPI backend with automatic CRUD, validation, and OpenAPI docs
- HTMX frontend with server-rendered templates and vanilla JS interactions
- Docker deployment ready out of the box
Quick Navigation¶
-
Getting Started
Install Dazzle and build your first app in minutes.
-
DSL Reference
Complete reference for the Dazzle DSL syntax.
-
Examples
Explore complete example applications.
-
Architecture
Understand how Dazzle works internally.
Core Concepts¶
DSL to App Pipeline¶
graph LR
DSL[DSL Files] --> Parser
Parser --> IR[AppSpec IR]
IR --> Back[DNR Backend]
IR --> UI[Dazzle UI]
Back --> API[FastAPI App]
UI --> JS[HTMX Templates]
Key Constructs¶
| Construct | Purpose |
|---|---|
| entity | Data model with fields, constraints, computed values |
| surface | UI view of an entity (list, detail, create, edit) |
| workspace | Collection of surfaces with layout |
| service | Custom business logic and operations |
| process | Multi-step workflows with state machines |
| story | Behavioural user stories for test generation |
| experience | Multi-step user flows and wizards |
| persona | User roles with goals and permissions |
| ledger | Double-entry accounting (TigerBeetle) |
| integration | External API connections |
| message / channel | Messaging, email, and notifications |
| schedule | Cron and periodic tasks |
Example DSL¶
module my_app
app todo "Todo App"
entity Task "Task":
id: uuid pk
title: str(200) required
completed: bool = false
surface task_list "Tasks":
uses entity Task
mode: list
section main:
field title "Title"
field completed "Done"
LLM-Friendly Design¶
Dazzle is built for the AI era:
- Deterministic generation - Same input always produces same output
- Semantic clarity - DSL constructs map directly to implementation
- MCP server - AI agents can introspect and modify Dazzle projects
See llms.txt for an agent-oriented overview.
Getting Help¶
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Source: GitHub Repository