Skip to content

tld validate

View Markdown

tld validate checks diagram structure, source links, and architectural warnings. It reads workspace YAML when present, otherwise the configured database. Use --source live to check the target directly.

Terminal window
tld validate
  • Missing elements: a connector references an element that doesn’t exist
  • Duplicate refs: two elements with the same key
  • Invalid placements: missing parents or an element placed inside its own view
  • Broken view references: connectors pointing to views that don’t exist
  • Stale symbols: an element points at a file or symbol that moved or disappeared
  • Architectural warnings: crowded views, missing metadata, and weak source coverage

A clean workspace prints a summary:

✓ Workspace valid: 42 elements, 12 views, 35 connectors

The validation level controls how strict checks are. Set it globally or override per run:

Terminal window
tld validate --strictness 1 # Minimal
tld validate --strictness 2 # Standard (default)
tld validate --strictness 3 # Strict — checks labels, descriptions, naming
tld validate --strictness 3 --verbose

After structural validation, tld validate runs the architectural linter and prints a summary grouped by rule code:

Architectural Warnings (Level 2: Standard)
CODE RULE VIOLATIONS
ARC001 High Density 1
ARC002 Isolated Element 1

Pass a rule code to see its full detail, including every violating element and how to fix it:

Terminal window
tld validate ARC001

Run tld validate rules for the current catalog, or see Linting Rules. An explicit rule code runs even when excluded or above the configured strictness level.

Architectural warnings are advisory by default. In CI, make them fail the build:

Terminal window
tld validate --strict

--strict exits non-zero on architectural warnings. Structural and source-symbol errors already fail validation.

Suppress specific rule codes in global config:

Terminal window
tld config set validation.exclude_rules ARC002
FlagDefaultWhat it does
--strictnessconfig / 2Override validation level [1-3]
-v, --verbosefalseShow full architectural warning output
--strictfalseExit non-zero on architectural warnings
--sourceautoRead cache or live; explicit --target/--data-dir selects live in auto mode