dbt-checkpoint
dbt-checkpoint is a Python-based pre-commit hook framework that enforces data quality and documentation standards in dbt projects before code is committed. It catches missing column descriptions, underdocumented models, test coverage gaps, and naming convention violations automatically, reducing manual code review overhead.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | dbt-checkpoint/dbt-checkpoint |
| Owner | dbt-checkpoint |
| Primary language | Python |
| License | MIT — OSI-approved |
| Stars | 749 |
| Forks | 154 |
| Open issues | 61 |
| Latest release | v2.0.10 (2026-06-18) |
| Last updated | 2026-06-18 |
| Source | https://github.com/dbt-checkpoint/dbt-checkpoint |
What dbt-checkpoint is
A pre-commit hook collection that parses dbt manifests and YAML property files to validate model documentation, test coverage, column metadata, naming contracts, and lineage constraints. Integrates with dbt's artifact system and supports BigQuery, Snowflake, and other dbt-compatible warehouses.
Get the dbt-checkpoint source
Clone the repository and explore it locally.
git clone https://github.com/dbt-checkpoint/dbt-checkpoint.gitcd dbt-checkpoint# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires `.dbt-checkpoint.yaml` configuration and a valid dbt manifest; if dbt project is in a subdirectory, set `dbt-project-dir` to avoid repeated `--manifest` flags.
- Telemetry is enabled by default and collects anonymous usage data via dbt's user_id; opt out by adding `disable-tracking: true` to config if required by policy.
- Hook exclusion logic requires per-hook `exclude` regex patterns in `.pre-commit-config.yaml` to override root-level exclusions when hooks auto-discover SQL/YAML files.
- Pre-commit integration is mandatory; teams must adopt pre-commit framework and ensure all developers run hooks before commit or use CI to enforce.
- Manifest generation must be current; hooks depend on dbt artifacts, so CI/CD workflows should generate fresh manifests or hooks may miss or incorrectly flag changes.
When to avoid it — and what to weigh
- Single-Developer or Ad-Hoc Analytics — Small teams doing exploratory analytics or one-off reports may find the overhead of maintaining hooks and configuration files unwarranted relative to the governance value.
- Heavy Runtime Validation Needed — dbt-checkpoint focuses on static pre-commit validation; it does not execute dbt runs or perform runtime data quality checks. If you need data profiling or runtime assertions, use dbt tests or separate tools.
- Non-dbt Workflows — This tool is dbt-specific. Teams using Looker Studio, Tableau data models, or other SQL-based analytics frameworks outside dbt will not benefit.
- Highly Customized Validation Logic — While hooks are configurable, bespoke business logic (e.g., domain-specific naming rules, custom metadata schemas) may require extending or forking the project, increasing maintenance burden.
License & commercial use
MIT License – a permissive, OSI-approved open-source license allowing commercial use, modification, and redistribution with attribution and no warranty.
MIT explicitly permits commercial use without restriction. No proprietary or copyleft clauses. Use in production commercial environments is supported by the license; however, ensure compliance with any organizational IP policies and note that maintainers provide no explicit warranty or SLA.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Good |
| Assessment confidence | High |
dbt-checkpoint is a static analysis tool and does not access data warehouses or credentials directly. Telemetry collects anonymous project identifiers but not credentials or model names; users can disable tracking. Pre-commit runs locally on developer machines with access to the repository and dbt artifacts; ensure `.dbt-checkpoint.yaml` and manifest files are not committed if they contain sensitive information. No known CVEs mentioned in data.
Alternatives to consider
dbt native tests + dbt Explorer
dbt's built-in generic and custom tests plus Explorer UI provide runtime validation and governance UI, but lack pre-commit automation and require running dbt (slower feedback loop).
Soda SQL / Soda Cloud
Focused on data quality and runtime profiling rather than documentation enforcement; operates post-execution and requires warehouse access.
Custom pre-commit hooks (Python/shell)
Full control and customization but requires in-house development and ongoing maintenance; dbt-checkpoint packages common checks as reusable hooks.
Build on dbt-checkpoint with DEV.co software developers
Integrate dbt-checkpoint into your pre-commit workflow to automate documentation and test coverage validation. Review the HOOKS.md documentation and .dbt-checkpoint.yaml configuration guide to get started.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
dbt-checkpoint FAQ
Does dbt-checkpoint execute dbt or run tests?
Can I disable telemetry?
What if my dbt project is in a subdirectory?
Will this slow down my commit workflow?
Custom software development services
Adopting dbt-checkpoint is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source databases software in production.
Ready to enforce dbt quality standards?
Integrate dbt-checkpoint into your pre-commit workflow to automate documentation and test coverage validation. Review the HOOKS.md documentation and .dbt-checkpoint.yaml configuration guide to get started.