Docs

Development variants

All 96 images publish a :latest-dev companion. Production and dev consume the same primary package from the same build — dev adds a shell, a package manager, and image-appropriate build or debugging tools.

Dev variants are intended for multi-stage builds and in-cluster debugging, not production workloads.

Multi-stage build

Build with the toolchain, ship without it.

FROM ghcr.io/rtvkiz/minimal-ruby:latest-dev AS build
WORKDIR /work
COPY Gemfile Gemfile.lock ./
RUN bundle install

FROM ghcr.io/rtvkiz/minimal-ruby:latest
COPY --from=build /work /work

Interactive shell

Dev images retain the production entrypoint. Override it to get a shell.

docker run -it --entrypoint /bin/sh \
  ghcr.io/rtvkiz/minimal-caddy:latest-dev

Same pipeline, different scope

Dev images use the same signing, SBOM, provenance, and publish pipeline as production. They are excluded from the public CVE dashboard — their intentionally larger toolchain surface is not representative of the production image, so including them would misrepresent both.

Composition rules are documented in docs/dev-variants/CONVENTIONS.md.