Reference

Output formats

Text for local work, JSON for scripts, SARIF for code scanning — three formats, each worth its weight.

Text

dollarlint found 8 issues in 3 files after 180ms

invalid.json
  /      required  must have required property "enabled"
  /name  type      expected string, received number

invalid.toml
  /enabled  type  expected boolean, received string

Summary: 8 discovered, 7 validated, 1 skipped, 8 issues in 180ms

Text with locations

settings.json
  3:11  type      expected string, received number  /name
  4:12  minimum   must be >= 1   /count

Without --locations, the first column is the JSON Pointer location instead of a line and column.

JSON

dollarlint validate . --format json

JSON output gives you the full accounting: run root, summary counts, duration, per-file results, issues, warnings, schema locations, and optional source positions.

Branch errors

[output]
branchErrors = "best"

Schemas that use oneOf or anyOf can produce many mutually exclusive branch failures for one bad value. By default, DollarLint reports the closest matching branch so the issue list stays focused. Set output.branchErrors = "all" in .dollarlint.toml when you need every failed branch leaf for schema debugging or exact validator inspection.

SARIF

dollarlint validate . --format sarif --output dollarlint.sarif

SARIF output is built for GitHub code scanning and similar tools. SARIF is generated only when --format sarif is requested. Source locations are best-effort: when a precise range isn't available, DollarLint falls back to the nearest file or parent object.

Warnings

Warnings are separate from validation issues. For example, a catalog failure with schemas.catalogs.failure = "warn" appears as a warning while explicit and configured schemas continue validating.