Skip to content

All Rules

llms.txt lists every page for an agent

The Docker lexicon provides 16 rules: 2 lint rules and 14 post-synth checks.

IDSeverityCategoryDescription
DKRS001warningcorrectnessNo Latest Tag
DKRS002warningcorrectnessPer-kind Dockerfile fields written in a different order

Post-synth checks validate the serialized output after the build pipeline completes.

IDDescription
DKRD001Service uses :latest or untagged image — specify an explicit version tag
DKRD002Named volume is declared but not mounted by any service
DKRD003Service exposes SSH port (22) externally — this is a security risk
DKRD010apt-get install without —no-install-recommends adds unnecessary packages
DKRD011Prefer COPY over ADD when not fetching URLs or extracting archives
DKRD012Dockerfile’s final stage has no USER instruction, or ends on USER root — container runs as root
DKRD013Whole build context copied before a dependency install — every source change re-runs the install
DKRD014RUN needs root but comes after USER switched to a non-root user
DKRD015More than one CMD or ENTRYPOINT in a stage — only the last one takes effect
DKRD016COPY —from names a stage that is not defined before it
DKRD017ARG before the first FROM is not used by any FROM or stage
DKRD018Relative WORKDIR before any absolute WORKDIR in the stage
DKRD019ADD fetches a remote URL without —checksum
DKRD020apt-get update in a different RUN from apt-get install — the install can use a stale package index

chant