Rule namespaces
| Namespace | Source | Description |
|---|---|---|
tally/ | tally custom rules | Security, correctness, performance, style, GPU, PHP, PowerShell, and Windows |
buildkit/ | Docker’s BuildKit linter | Captured during parsing or reimplemented for static analysis |
hadolint/ | Hadolint | Hadolint-compatible rules implemented natively |
shellcheck/ | Embedded ShellCheck | Shell script analysis within RUN instructions |
Severity levels
| Severity | Meaning |
|---|---|
error | Critical issue; blocks CI by default |
warning | Important issue that should be addressed |
info | Informational suggestion |
style | Style preference; auto-fixable in most cases |
off | Rule disabled |
style, meaning any violation causes a non-zero exit. Use --fail-level to adjust this.
Auto-fixable rules
Rules marked with 🔧 can be fixed automatically withtally lint --fix. Some fixes are classified as suggestions (unsafe) and require
--fix --fix-unsafe to apply. Auto-fixable rules cover formatting, style normalization, and many correctness improvements.
Enabling and disabling rules
In .tally.toml
Use include and exclude glob patterns to select which rules run:
[rules.<namespace>.<rule-name>]:
With CLI flags
Use--select to enable rules and --ignore to disable them:
Inline suppression directives
Suppress specific violations directly in your Dockerfile using comment directives.Next-line suppression
File-wide suppression
Adding a reason
Use;reason= to document why a rule is suppressed. Required when --require-reason is set:
Suppress all rules on a line
Migration compatibility
tally also accepts directive formats from hadolint and Docker’scheck=skip syntax:
Directives work with or without namespace prefixes. Both
ignore=DL3024 and ignore=hadolint/DL3024 are valid.Shell directive for non-POSIX shells
When using a non-POSIX shell (PowerShell, cmd), use theshell directive to disable incompatible rules:
powershell, pwsh, cmd, cmd.exe.
Explore rules by category
Security
Secret detection, VEX attestations, secret mounts, privilege rules, and telemetry opt-out.
Correctness
Stage structure, signal handling, JSON exec-form, identity resolution, curl/wget config, and platform checks.
Performance
Multi-stage builds, cache mounts, heredocs, and archive extraction.
Style
Formatting, sorting, indentation, and epilogue ordering — all auto-fixable.
GPU / CUDA
NVIDIA/CUDA-aware rules for build-time queries, driver capabilities, and image size.
PHP
Composer dependency hygiene and Xdebug detection.
Windows
Windows container-specific rules for mounts, signals, and ownership flags.
BuildKit
Docker’s official BuildKit linter checks.
Hadolint
Hadolint DL rules implemented natively.