DaC is a dashboard-as-code tool. Build interactive dashboards using YAML and JSX. Built-in semantic layer. Get your agents to build standardized, reviewable dashboards.
730
stars
238
commits
Go
primary language
Sep 14, 2026
updated
DAC is a Dashboard-as-Code tool for defining, validating, and serving dashboards from YAML and TSX.
semantic/, reference them from any widget. DAC generates the SQL.It is built for AI agents to build dashboards in a reliable and reviewable way.

| TSX | YAML |
|---|---|
|
|
Install the latest stable DAC release:
curl -LsSf https://getbruin.com/install/dac | sh
Install the latest edge build from main:
curl -LsSf https://getbruin.com/install/dac | sh -s -- --channel edge
DAC uses your existing Bruin connections and currently shells out to bruin query for query execution. The install script installs the Bruin CLI first when bruin is not already available on your PATH.
Create a new starter project:
dac init my-dashboards
cd my-dashboards
dac validate --dir .
dac validate --dir . --with-database
dac serve --dir . --open
The starter includes a SQL-backed YAML dashboard, a semantic YAML dashboard, and a semantic model under semantic/.
dac init also installs DAC's bundled dashboard authoring skill for Claude and Codex:
ls .claude/skills/create-dashboard/SKILL.md
ls .codex/skills/create-dashboard
For existing projects, run dac skills install --dir ..
If you cloned the repository and have dac installed, you can also run one of the bundled example projects:
dac serve --dir examples/basic-yaml
The repository includes four self-contained example projects under examples/:
| Example | What it shows |
|---|---|
examples/basic-yaml | Standard YAML dashboards with filters, SQL queries, and a self-contained Vega-Lite layered-chart demo. |
examples/basic-tsx | A TSX dashboard that uses load-time queries to generate layout from the database. |
examples/semantic-yaml | A YAML dashboard that reads semantic models from semantic/ and compiles widgets in the backend. |
examples/semantic-tsx | A TSX dashboard using external semantic models and backend semantic query compilation. |
.
├── cmd/ CLI entrypoints
├── pkg/ Dashboard loading, semantic engine, server, query backends
├── frontend/ React frontend embedded into the DAC binary
├── docs/ VitePress documentation source
├── examples/ Runnable example projects for YAML, TSX, and semantic dashboards
├── resources/ README and documentation assets
└── testdata/ Internal fixtures used by tests
make deps
make test
make build
make dev
The main development commands are defined in the Makefile. Use make targets rather than ad-hoc go build or npm run build commands so frontend embedding and build flags stay consistent.
DAC sends anonymous usage events to help us understand which commands are used and where they fail. Each event includes the command name, run duration, OS/architecture, DAC version, and an anonymous install ID stored at ~/.dac/telemetry.json.
We do not collect:
To disable telemetry, set either of these environment variables:
export TELEMETRY_OPTOUT=1
# or the industry-standard:
export DO_NOT_TRACK=1
Builds without a telemetry write key (the default for make build) are silent and send nothing.
docs/examples/CONTRIBUTING.mdSECURITY.mdAGPL-3.0-only. See LICENSE.
Hacker News (1)
Go
67.4%
TypeScript
30.4%
CSS
1.1%
DaC is a dashboard-as-code tool. Build interactive dashboards using YAML and JSX. Built-in semantic layer. Get your agents to build standardized, reviewable dashboards.
730
stars
238
commits
Go
primary language
Sep 14, 2026
updated
DAC is a Dashboard-as-Code tool for defining, validating, and serving dashboards from YAML and TSX.
semantic/, reference them from any widget. DAC generates the SQL.It is built for AI agents to build dashboards in a reliable and reviewable way.

| TSX | YAML |
|---|---|
|
|
Install the latest stable DAC release:
curl -LsSf https://getbruin.com/install/dac | sh
Install the latest edge build from main:
curl -LsSf https://getbruin.com/install/dac | sh -s -- --channel edge
DAC uses your existing Bruin connections and currently shells out to bruin query for query execution. The install script installs the Bruin CLI first when bruin is not already available on your PATH.
Create a new starter project:
dac init my-dashboards
cd my-dashboards
dac validate --dir .
dac validate --dir . --with-database
dac serve --dir . --open
The starter includes a SQL-backed YAML dashboard, a semantic YAML dashboard, and a semantic model under semantic/.
dac init also installs DAC's bundled dashboard authoring skill for Claude and Codex:
ls .claude/skills/create-dashboard/SKILL.md
ls .codex/skills/create-dashboard
For existing projects, run dac skills install --dir ..
If you cloned the repository and have dac installed, you can also run one of the bundled example projects:
dac serve --dir examples/basic-yaml
The repository includes four self-contained example projects under examples/:
| Example | What it shows |
|---|---|
examples/basic-yaml | Standard YAML dashboards with filters, SQL queries, and a self-contained Vega-Lite layered-chart demo. |
examples/basic-tsx | A TSX dashboard that uses load-time queries to generate layout from the database. |
examples/semantic-yaml | A YAML dashboard that reads semantic models from semantic/ and compiles widgets in the backend. |
examples/semantic-tsx | A TSX dashboard using external semantic models and backend semantic query compilation. |
.
├── cmd/ CLI entrypoints
├── pkg/ Dashboard loading, semantic engine, server, query backends
├── frontend/ React frontend embedded into the DAC binary
├── docs/ VitePress documentation source
├── examples/ Runnable example projects for YAML, TSX, and semantic dashboards
├── resources/ README and documentation assets
└── testdata/ Internal fixtures used by tests
make deps
make test
make build
make dev
The main development commands are defined in the Makefile. Use make targets rather than ad-hoc go build or npm run build commands so frontend embedding and build flags stay consistent.
DAC sends anonymous usage events to help us understand which commands are used and where they fail. Each event includes the command name, run duration, OS/architecture, DAC version, and an anonymous install ID stored at ~/.dac/telemetry.json.
We do not collect:
To disable telemetry, set either of these environment variables:
export TELEMETRY_OPTOUT=1
# or the industry-standard:
export DO_NOT_TRACK=1
Builds without a telemetry write key (the default for make build) are silent and send nothing.
docs/examples/CONTRIBUTING.mdSECURITY.mdAGPL-3.0-only. See LICENSE.
Hacker News (1)
Go
67.4%
TypeScript
30.4%
CSS
1.1%