- Implemented by tally — BuildKit normally runs these during LLB conversion (i.e., when actually building). tally reimplements them as pure static checks so they catch issues without a Docker daemon.
- Captured from BuildKit parser — These are emitted by BuildKit during Dockerfile parsing and forwarded directly to tally’s diagnostic pipeline.
tally lint --fix to apply safe fixes automatically.
Implemented by tally
These 17 checks correspond to BuildKit’s LLB-conversion checks. tally runs them statically, so you get full coverage without Docker or BuildKit installed.buildkit/ConsistentInstructionCasing 🔧 — Warning
buildkit/ConsistentInstructionCasing 🔧 — Warning
buildkit/CopyIgnoredFile — Warning
buildkit/CopyIgnoredFile — Warning
.dockerignore.Severity: Warning (enabled by default) · Auto-fixable: NoDocker docs: copy-ignored-filebuildkit/DuplicateStageName — Error
buildkit/DuplicateStageName — Error
buildkit/ExposeInvalidFormat — Warning
buildkit/ExposeInvalidFormat — Warning
buildkit/ExposeProtoCasing 🔧 — Warning
buildkit/ExposeProtoCasing 🔧 — Warning
buildkit/FromPlatformFlagConstDisallowed — Off
buildkit/FromPlatformFlagConstDisallowed — Off
FROM --platform flag should not use a constant value.Severity: Off by default · Auto-fixable: NoDocker docs: from-platform-flag-const-disallowedbuildkit/InvalidBaseImagePlatform — Off
buildkit/InvalidBaseImagePlatform — Off
buildkit/InvalidDefaultArgInFrom — Error
buildkit/InvalidDefaultArgInFrom — Error
buildkit/JSONArgsRecommended 🔧 — Info
buildkit/JSONArgsRecommended 🔧 — Info
buildkit/LegacyKeyValueFormat 🔧 — Warning
buildkit/LegacyKeyValueFormat 🔧 — Warning
buildkit/MultipleInstructionsDisallowed 🔧 — Warning
buildkit/MultipleInstructionsDisallowed 🔧 — Warning
buildkit/RedundantTargetPlatform — Warning
buildkit/RedundantTargetPlatform — Warning
--platform to the predefined $TARGETPLATFORM in FROM is redundant as it is the default behavior.Severity: Warning (enabled by default) · Auto-fixable: NoDocker docs: redundant-target-platformbuildkit/ReservedStageName — Error
buildkit/ReservedStageName — Error
buildkit/SecretsUsedInArgOrEnv — Warning
buildkit/SecretsUsedInArgOrEnv — Warning
buildkit/UndefinedArgInFrom — Warning
buildkit/UndefinedArgInFrom — Warning
buildkit/UndefinedVar — Warning
buildkit/UndefinedVar — Warning
buildkit/WorkdirRelativePath 🔧 — Warning
buildkit/WorkdirRelativePath 🔧 — Warning
Captured from BuildKit parser
These 5 checks are emitted by BuildKit during Dockerfile parsing. tally captures them directly and includes them in its diagnostic output alongside statically implemented rules.buildkit/FromAsCasing 🔧 — Warning
buildkit/FromAsCasing 🔧 — Warning
as keyword should match the case of the from keyword.Severity: Warning (enabled by default) · Auto-fixable: YesDocker docs: from-as-casingbuildkit/InvalidDefinitionDescription 🔧 — Warning (off by default)
buildkit/InvalidDefinitionDescription 🔧 — Warning (off by default)
# <arg/stage name> <description>. If this is not intended to be a description comment, add an empty line or comment between the instruction and the comment.Severity: Warning · Default: Off (experimental) · Auto-fixable: YesDocker docs: invalid-definition-descriptionbuildkit/MaintainerDeprecated 🔧 — Warning
buildkit/MaintainerDeprecated 🔧 — Warning
buildkit/NoEmptyContinuation 🔧 — Warning
buildkit/NoEmptyContinuation 🔧 — Warning
buildkit/StageNameCasing 🔧 — Warning
buildkit/StageNameCasing 🔧 — Warning