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.
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.
Related¶
dft describe— describe a dashboard's queries, charts, variables, and layout- Error Handling Guide