dbt-labs/dbt-charts

Declarative YAML around SQL for dbt-native dashboards: easy for agents to write, easy for humans to audit.

What it solves

It addresses the problem of "vibe coded" dashboards, which often create a messy trail of artifacts, frameworks, and data transformations that are difficult to audit. It provides a structured, declarative way to define dashboards that is easy for humans to audit and for AI agents to generate.

How it works

Users define their dashboards using a declarative YAML syntax that wraps SQL. The process follows these steps:

  1. Compile: The YAML is validated and the theme and layout are resolved.
  2. Execute: SQL queries are run against a data warehouse using dbt adapters.
  3. Render: The results are converted into Vega-Lite specifications and rendered as interactive HTML, or static formats like PDF, PNG, and SVG.

Who it’s for

It is designed for data engineers and analysts who want a version-controllable way to build dashboards, as well as AI agents that need a standardized tool to query datasets and create visual reports.

Highlights

  • Declarative Syntax: Uses YAML to define how data should be seen, while SQL defines what data to retrieve.
  • Agent-Ready: Includes bundled skills and a local MCP (Model Context Protocol) server to allow AI agents to write, render, and serve dashboards.
  • dbt Integration: Can be used standalone or within a dbt project to leverage ref() and source() functions and share connection profiles.
  • Extensive Visuals: Supports 16 core chart types (e.g., bar, line, KPI, maps) and 13 semantic composed shapes (e.g., lollipop, funnel, streamgraph).
  • Multi-format Output: Supports live previews via a server and static exports to HTML, PDF, PNG, and SVG.

Related

  • Dispatch
  • Project
  • Project
  • Project
  • Project