Guide

Ignore rules

Use ignore rules for known validation issues that should stay visible in reports without failing the run.

Start with a narrow rule

Ignore rules live in .dollarlint.toml. Each rule can match by file glob, JSON Schema keyword, affected property, and an optional reason.

[[ignore]]
file = "fixtures/*.json"
keyword = "required"
property = "legacyName"
reason = "legacy fixture kept for compatibility"

All fields you include must match. Fields you leave out act like wildcards, so prefer starting specific and relaxing the rule only when you mean to cover a broader class of known issues.

How matching works

Field Matches
fileA discovered file path relative to the validation root, using the same glob style as discovery. A pattern without a slash can match a basename at any depth.
keywordEither the JSON Schema keyword name, such as required or type, or the full keyword location.
propertyThe affected property name, the instance pointer such as /name, or a glob when matching a bare property name.
reasonHuman context for the report. If omitted, DollarLint records that the issue matched an ignore rule.

Use verbose output for stable values

When you are writing a precise rule, run validation with --verbose. Verbose text output shows metadata such as the schema URI, keyword, keyword location, and property, which are better anchors than copying the human-readable message.

dollarlint validate . --verbose

Match pointers when property names are ambiguous

If a property name appears in many places, match the instance pointer or keyword location instead of the bare name.

[[ignore]]
file = "fixtures/*.json"
keyword = "/properties/name/type"
property = "/name"
reason = "fixture intentionally keeps the old shape"

What ignored means

Ignored issues are still counted and reported as ignored, but they do not make the run fail. Exit code 0 means there were no non-ignored issues.

Use discovery excludes for files that should not be checked at all. Use ignore rules when the file should still be validated, but a specific known issue should not block the run.