DEV.co
Open-Source Databases · dbt-checkpoint

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.

Source: GitHub — github.com/dbt-checkpoint/dbt-checkpoint
749
GitHub stars
154
Forks
Python
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorydbt-checkpoint/dbt-checkpoint
Ownerdbt-checkpoint
Primary languagePython
LicenseMIT — OSI-approved
Stars749
Forks154
Open issues61
Latest releasev2.0.10 (2026-06-18)
Last updated2026-06-18
Sourcehttps://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.

Quickstart

Get the dbt-checkpoint source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/dbt-checkpoint/dbt-checkpoint.gitcd dbt-checkpoint# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Enforce Documentation Standards at Scale

Organizations with multiple dbt developers can mandate column descriptions, model metadata, and test minimums before merge, reducing reviewer burden and preventing underdocumented models from reaching production.

Data Quality Gates in CI/CD

Teams can embed dbt-checkpoint in CI pipelines to catch data lineage issues, constraint violations, and naming convention breaches automatically, preventing quality regressions in analytics code.

Governance and Compliance Automation

Data teams can enforce tagging, metadata requirements, and parent/child relationship rules to maintain governance standards and improve data discoverability without manual audits.

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.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityLow
DEV.co fitGood
Assessment confidenceHigh
Security considerations

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.

Software development agency

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.co

Related 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?
No. It performs static validation by parsing dbt manifests and YAML files. It does not execute dbt, run tests, or access the data warehouse; that is left to your existing dbt and CI workflows.
Can I disable telemetry?
Yes. Add `disable-tracking: true` to your `.dbt-checkpoint.yaml` file to opt out of event tracking. By default, anonymous project IDs are sent to help maintainers prioritize hook development.
What if my dbt project is in a subdirectory?
Add `dbt-project-dir: path/to/dbt_project` in `.dbt-checkpoint.yaml` and dbt-checkpoint will look for manifests and catalogs in that directory automatically.
Will this slow down my commit workflow?
Hook execution time depends on project size and number of hooks enabled. For typical projects, overhead is seconds to tens of seconds per commit; can be mitigated by running only critical hooks locally and full suite in CI.

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.