Quickstart
Create and run your first DAC project with dac init.
DAC uses Bruin connections for query execution, so make sure both dac and bruin are installed and available on your PATH before starting.
1. Create a Project
dac init my-dashboards
cd my-dashboardsThe default starter creates a complete runnable project:
.bruin.ymlwith a read-only DuckDB connection namedlocal_duckdbdata/dac-demo.duckdbfor local testingdashboards/sales.ymlfor a regular SQL dashboarddashboards/semantic-sales.ymlfor a semantic dashboardsemantic/sales.ymlfor the semantic model.claude/skills/create-dashboard/SKILL.mdand.codex/skills/create-dashboard
The generated dashboards include inline sample data, so there is no separate seed step.
2. Validate the Project
dac validate --dir .Validation checks dashboard YAML, semantic model YAML, schema versions, semantic references, and dashboard structure before anything is served. When schema is omitted, DAC assumes v1.
3. Inspect a Widget Query
dac query --dir . --dashboard "Semantic Sales" --widget "Revenue"For semantic widgets, DAC compiles the semantic model reference into SQL in the backend before executing the query.
4. Check All Widgets
dac check --dir .dac check executes every query-backed widget and reports query failures before a viewer opens the dashboard.
5. Start the Server
dac serve --dir . --openThe dashboard app will be available at http://localhost:8321.
6. Try Other Templates
dac init can also generate smaller starter projects:
dac init sql-only --template sql
dac init semantic-yaml --template semantic
dac init semantic-tsx --template tsx7. Existing Projects
If you already have a DAC project, install or refresh the bundled dashboard authoring skills with:
dac skills install --dir .Next Steps
- Learn the full YAML format
- Use TSX for programmatic dashboards
- Add filters for interactivity
- Add a
semantic/directory and define a semantic layer - Explore the runnable projects in
examples/