Stop rebuilding the same dbt project setup.
Use one command to scaffold folders, profiles, packages, pre-commit hooks, CI pipelines, and environment config that teams often add by hand.
dbt-forge is a Python CLI for dbt project scaffolding, architectural linting, impact analysis, cost estimation, data contracts, and health checks. It helps teams start faster and maintain quality without rebuilding the same folders, profiles, starter models, and setup files for every new project.
dbt-forge gives you a repeatable dbt project scaffold with adapter-aware profiles, starter models, a clear project structure, and optional tooling that can be reused across projects.
Use one command to scaffold folders, profiles, packages, pre-commit hooks, CI pipelines, and environment config that teams often add by hand.
The scaffold includes staging, intermediate, marts, tests, macros, adapter-aware profiles, and optional tooling like SQLFluff, pre-commit, and CI pipelines. Use --mesh for multi-project setups with access controls and contracts.
Use `lint` for architectural checks, `impact` for blast radius analysis, `cost` for warehouse spend, `contracts generate` for data contracts, and `changelog generate` to track breaking changes. Plus `migrate`, `docs generate`, and `doctor`.
Use the same CLI to initialize a dbt project, migrate legacy SQL to dbt, introspect warehouse metadata, validate best practices, and keep templates updated over time.
dbt-forge init analytics_core --defaults Scaffold a single project or a multi-project Mesh with --mesh.
dbt-forge migrate ./legacy_sql/ Convert existing SQL scripts into dbt models with ref() and source().
dbt-forge add source raw --from-database Generate sources and staging models from live warehouse metadata.
dbt-forge add model users Add models, tests, packages, CI, and sub-projects as the project grows.
dbt-forge docs generate Generate model and column descriptions using Claude, OpenAI, or Ollama.
dbt-forge lint --ci && dbt-forge impact --diff Lint architecture, measure blast radius, estimate costs, and generate contracts.
dbt-forge doctor && dbt-forge status Validate best practices, review project health, and track model changes.
Start with Getting started, then use init, add, lint, impact, cost, and doctor to build and maintain a project. The more detailed guides live in the docs.
What a practical dbt template should include and how dbt-forge scaffolds it.
The shortest path from installation to a repeatable dbt project scaffold.
Turn legacy SQL scripts into dbt models with ref() and source().
Structure, naming, tests, packages, and health checks for maintainable dbt projects.