metabase-snapshot
Track every dashboard change and give AI agents readable context on your BI layer
Overview
Metabase doesn't give you a clean way to track dashboard changes in git. metabase-snapshot exports every dashboard, card, and SQL query into human-readable YAML with SQL in separate files, so diffs actually make sense. Run it on a schedule and commit the output for a full audit trail.
Features
- Snapshot all dashboards, cards, and collections to YAML + SQL
- Clean diffs. SQL extracted to separate files so changes are readable in git
- Reconstruct dashboards from snapshots into a target Metabase instance
- CI/CD friendly. Run as a cron job or in a GitHub Action
- Selective export. Filter by collection or dashboard ID
Installation
Quick Start
Use Cases
Agentic dashboard management
AI coding agents can read snapshot YAML to understand your full Metabase setup — which dashboards exist, what SQL they run, how cards are arranged. Point an agent at the snapshot directory and it has complete context to create new dashboards, update queries, or reorganize cards from plain-language instructions.
Dashboard governance
Teams can track who changed which dashboard and when. Pair with branch-based workflows to require review before dashboard changes go live.
dbt + Metabase workflow
If you manage your data models in dbt, metabase-snapshot lets you keep your BI layer in the same git repo. When a dbt model changes, you can see whether downstream dashboards need updating.