Skip to content

dft validate

Fast YAML schema and cross-reference validation. No DB hit, no execute. Use it for sub-second checks in editors, pre-commit hooks, and CI.

dft validate [OPTIONS] [PATH]

Arguments

Argument Description
PATH Path to face YAML file or directory. Defaults to faces/ when omitted.

Options

Flag Description
--project-dir PATH Project root for resolving relative paths.
--json Output as JSON.
--strict / --no-strict Exit 1 on warnings. Default: off.

Examples

dft validate                        # Validate all faces in faces/
dft validate faces/                 # Validate all faces in a directory
dft validate faces/sales.yml        # Validate one file
dft validate faces/sales.yml --json
dft validate faces/sales.yml --strict

When given a directory, dft validate globs **/*.yml and **/*.yaml, skipping any file whose name starts with _ (partials and templates).

What it validates

  • YAML syntax
  • Schema conformance (every field, every chart family, every query shape)
  • Cross-references inside the face (chart query: names exist, rows: references exist, variable references resolve)
  • Variable defaults and types
  • Field-level constraints (enums, ranges, mutually exclusive options)

What it does not check

  • Whether referenced dbt models / metrics / tables actually exist in the warehouse
  • Whether queries execute successfully
  • Whether columns return rows
  • Chart-render output

For those, use dft render.