id = "hadolint" name = "Hadolint" homepage = "https://github.com/hadolint/hadolint" description = "A smarter Dockerfile linter that helps you build best practice Docker images." executables = ["hadolint"] [dotfiles] # Hadolint's official README (https://github.com/hadolint/hadolint#configure) # lists global config candidates: $XDG_CONFIG_HOME/hadolint.yaml (falling # back to ~/.config/hadolint.yaml), ~/.hadolint/hadolint.yaml, # ~/hadolint/config.yaml and ~/.hadolint.yaml. It uses %LOCALAPPDATA% instead # of XDG_CONFIG_HOME on Windows, so that spelling is included separately. paths = [ "[configHome]/hadolint.yaml", "%LOCALAPPDATA%/hadolint.yaml", "~/.hadolint/hadolint.yaml", "~/hadolint/config.yaml", "~/.hadolint.yaml", ] exclude = [] secret = [] side_effect = false [commands] format = 1 label = "Lint Dockerfiles" description = "Lint one or more Dockerfiles with a chosen output format and failure threshold. Per-rule severity overrides, label schemas and registries are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "help" kind = "help" url = "https://github.com/hadolint/hadolint/blob/master/README.md" revision = "master 2026-10" evidence = """ Usage: hadolint [-v|--version] [-c|--config FILENAME] [DOCKERFILE...] -c,--config FILENAME Path to the configuration file --no-fail Don't exit with a failure status code when any rule is violated --no-color Don't colorize output -f,--format ARG The output format for the results [tty | json | checkstyle | codeclimate | gitlab_codeclimate | gnu | codacy | sonarqube | sarif | junit] (default: tty) --ignore RULECODE A rule to ignore. If present, the ignore list in the --trusted-registry REGISTRY (e.g. docker.io) --strict-labels Do not permit labels other than specified in --disable-ignore-pragma Disable inline ignore pragmas `# hadolint -t,--failure-threshold THRESHOLD Accepted values: [error | warning | info | style | ignore | none] (default: info) """ [[commands.field]] id = "dockerfile" label = "Dockerfiles" type = "path" path = { kind = "file", role = "input" } position = 0 multiple = true sources = ["help"] [[commands.field]] id = "config" label = "Config file" type = "path" option = ["--config", "-c"] path = { kind = "file", role = "input" } sources = ["help"] [[commands.field]] id = "format" label = "Output format" type = "enum" option = ["--format", "-f"] choices = [{ value = "tty", label = "tty" }, { value = "json", label = "JSON" }, { value = "checkstyle", label = "Checkstyle" }, { value = "codeclimate", label = "Code Climate" }, { value = "gitlab_codeclimate", label = "GitLab Code Climate" }, { value = "gnu", label = "GNU" }, { value = "codacy", label = "Codacy" }, { value = "sonarqube", label = "SonarQube" }, { value = "sarif", label = "SARIF" }, { value = "junit", label = "JUnit" }] sources = ["help"] [[commands.field]] id = "failure_threshold" label = "Failure threshold" type = "enum" option = ["--failure-threshold", "-t"] choices = [{ value = "error", label = "error" }, { value = "warning", label = "warning" }, { value = "info", label = "info" }, { value = "style", label = "style" }, { value = "ignore", label = "ignore" }, { value = "none", label = "none" }] sources = ["help"] [[commands.field]] id = "ignore" label = "Ignore rules" description = "Rule codes such as DL3008." type = "string" option = ["--ignore"] multiple = true sources = ["help"] [[commands.field]] id = "no_fail" label = "Never fail the exit code" type = "boolean" option = ["--no-fail"] sources = ["help"] [[commands.field]] id = "no_color" label = "No color" type = "boolean" option = ["--no-color"] sources = ["help"] [[commands.field]] id = "trusted_registry" label = "Trusted registries" type = "string" option = ["--trusted-registry"] multiple = true sources = ["help"] [[commands.field]] id = "strict_labels" label = "Strict labels" type = "boolean" option = ["--strict-labels"] sources = ["help"] [[commands.field]] id = "disable_ignore_pragma" label = "Disable inline ignore pragmas" type = "boolean" option = ["--disable-ignore-pragma"] sources = ["help"] [[commands.task]] id = "lint" label = "Lint a Dockerfile" fields = ["dockerfile"] required = ["dockerfile"] [[commands.task]] id = "json" label = "JSON report" fields = ["dockerfile", "format"] required = ["dockerfile"] set = { format = ["json"] } [[commands.group]] id = "basic" label = "Basic" fields = ["dockerfile", "format", "failure_threshold", "ignore"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["config", "no_fail", "no_color", "trusted_registry", "strict_labels", "disable_ignore_pragma"]