Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Notable changes per release. Versions follow [semantic versioning](https://semver.org);
while the major version is 0, minor bumps may include breaking changes and say so here.

## 0.2.0 (unreleased)
## 0.2.0 (2026-10-03)

The design brain, plus the fixes found reviewing it.

Expand Down
22 changes: 12 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ covers the other direction, and lists anything it could not carry over.

Write the file yourself, or describe the dashboard you want and have an AI
write it. The same checks run either way. After the build, each chart's query
runs once to prove it shows data, and `chartwright advise` reviews the layout
for readability.
runs once (an error fails the build, an empty chart is named), and
`chartwright advise` reviews the layout for readability.

## What a spec looks like

Expand Down Expand Up @@ -54,8 +54,8 @@ The file is called a spec:
`chartwright apply` on this file signs in to your Superset, confirms the
`cleaned_sales_data` table and the `sales` and `order_date` columns exist,
builds a KPI card above a line chart, and finishes by running each chart's
query once to prove it shows data. A misspelled column or a missing table is a
clear error naming the problem, before anything is created.
query once. A misspelled column or a missing table is a clear error naming the
problem, with the closest real names suggested, before anything is created.

## Creating dashboards with AI

Expand Down Expand Up @@ -108,21 +108,23 @@ as-is.
- **Deterministic dashboards**: the same spec always produces the identical
dashboard. Diff it in git, review it in a PR.
- **Verified at every step**: every reference is checked before anything is
written, and every chart's query runs once to prove it shows data; failures
say what went wrong and where.
written, and every chart's query runs once (an error fails the build, an
empty chart is named); failures say what went wrong and where.
- **Dashboards as code, in both directions**: `chartwright decompile` turns any live
dashboard into a spec; `chartwright plan` shows what differs between the spec and
the live dashboard, ready as a CI gate; `chartwright compile` builds the import
bundle offline, no server needed.
- **Recoverable by default**: every apply backs up the previous state first,
and a failed apply restores it. Dashboards Chartwright did not create are
never overwritten; to bring a hand-built one under a spec, decompile it
first.
and an apply that fails while importing or updating charts restores it
automatically. Dashboards Chartwright did not create are never overwritten;
to bring a hand-built one under a spec, decompile it and build it at a new
slug.
- **What a spec can express**: 15 chart types, metrics as you write them,
per-chart filters, a native filter bar, tabs, markdown notes, a footer shown
under every tab, and layouts you can draw as ASCII sketches.
- **Environment promotion**: specs name their data (connection, schema,
table), so the same file applies to dev, staging, and production unchanged.
table), so the same file applies to dev, staging, and production when they
share connection names.

Every capability, with the CLI verb reference: [docs/FEATURES.md](https://github.com/debabsah/chartwright/blob/main/docs/FEATURES.md).

Expand Down
Loading