dbt Fundamentals
Back to Building a Real dbt Project

Documentation — Descriptions, dbt docs, and Why It Matters

Auto-generated docs from your YAML. The highest-leverage 30 seconds you'll spend. FIND_VIDEO: search 'dbt documentation descriptions docs generate' — recommended channel: dbt Labs. Aim for 9 min or under.

8 minutesVideo LessonPDF notes
🎯 Free Guest Mode: You are learning for free. Sign in to save your completion progress and quiz answers.
Loading progress...

Key moments

  1. Context of Data Documentation — Reviews historical documentation pain points and the necessity of documenting software and data pipelines.
  2. Unenriched Warehouse Models — Demonstrates that physical database tables lack inherent contextual metadata without dbt documentation layers.
  3. Creating schema.yml Metadata — Constructs a schema.yml file declaring multi-line model descriptions and column-level data type metadata.
  4. Generating and Serving Docs — Executes dbt docs generate to compile catalog artifacts and dbt docs serve to launch the local web server.
  5. Exploring the Docs UI — Navigates model lineage graphs, column definitions, seed dependencies, and compiled SQL in the browser.
  6. Injecting External Doc Blocks — Creates standalone Markdown doc blocks and injects them into schema.yml using the doc Jinja function.
PDF notes

Frequently asked questions

Where does dbt docs generate output its compiled metadata?

It outputs static documentation files, including catalog.json and manifest.json, directly into your project's target/ directory.

Can I use Markdown formatting directly inside schema.yml strings?

Yes, basic inline markdown works in schema.yml, but extensive markdown is cleaner when managed inside dedicated .md doc blocks.

Why does dbt connect to the warehouse during dbt docs generate?

It queries warehouse system tables to extract column data types, table statistics, and physical object sizes into catalog.json.

Can a single Markdown file contain multiple doc blocks?

Yes, you can define multiple distinct {% docs name %} ... {% enddocs %} blocks within a single .md file.

How was this lesson?

Your feedback helps us refine explanations and catch bugs.