dft check
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 (required). |
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 check faces/sales.yml
dft check faces/sales.yml --json
dft check faces/sales.yml --strict
What it checks
- 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 validate or dft render.
check vs validate
| Aspect |
dft check |
dft validate |
| YAML schema |
✓ |
✓ |
| Cross-references inside face |
✓ |
✓ |
| Warehouse references (models, sources, metrics) |
✗ |
✓ |
| Speed |
Sub-second |
Slower, hits the manifest |
| Use case |
Editor / pre-commit / CI fast lane |
Full validation before deploy |