dir_absent
Directory counterpart of file_absent. The match-and-fire semantics are the same as file_absent — including the .gitignore interaction. A dir_absent rule with paths: "**/target" only fires when target/ exists in the walked tree; if it’s gitignored, the walker filters it out and the rule stays silent.
- id: no-tracked-target kind: dir_absent paths: "**/target" level: errorOptional git_tracked_only: true restricts the check to directories that contain at least one git-tracked file. With it set, a developer’s locally-built target/ (gitignored, no tracked content) doesn’t trigger; a target/ whose contents made it into git’s index does. This is the canonical “don’t let target/ be committed” semantic.
- id: no-tracked-target kind: dir_absent paths: "**/target" git_tracked_only: true level: errorSee The walker and .gitignore for the full semantics.
Options
Section titled “Options”| Option | Type | Required | Default | Description |
|---|---|---|---|---|
git_tracked_only | git tracked only | |||
root_only | boolean | false | If true, only a directory directly at the repository root is forbidden. |
Plus the common paths, level, id, and when fields. This table is generated from the JSON Schema; option types and defaults are authoritative.