# immanuwell/dockerfile-roast

droast - a dockerfile linter that actually has opinions 🔥

Repository: https://github.com/immanuwell/dockerfile-roast
Canonical: https://ross.abutalabs.com/products/dockerfile-roast
Homepage: https://ewry.net/droast-dockerfile-linter/
Language: Rust
License: MIT
License Family: permissive
Topics: ci, continious-integration, docker, dockerfile, linter, rust, wasm, static-analysis, dockerfile-linter, security
Last push: 2026-08-20T11:26:33+00:00

## Health v2 (maintenance only)
Score: 80/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 98, longevity 10
- inputs: {"age_days": 143, "days_push": 13, "days_rel": 13, "gap_med": 1, "n_releases_24m": 22}
- flags: young
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1082, forks 21 (observed 2026-08-28T04:03:30.988590+00:00)

## What it is
droast is a Dockerfile linter written in Rust with 85 opinionated rules that report bad practices using snarky, humorous messages. It runs as a CLI binary, a WebAssembly-powered browser tool, a GitHub Action, and editor extensions for VS Code and Neovim.

## Use cases
- lint dockerfiles for security issues and bad practices
- catch hardcoded secrets and passwords in dockerfiles
- check dockerfiles in CI on every pull request
- get inline dockerfile diagnostics while editing in vscode or neovim
- find outdated base images and layer bloat in dockerfiles
- validate dockerfile syntax including heredocs and BuildKit flags
- replace hadolint with a friendlier rule-mapped linter

## When to choose
- you want opinionated, plain-English dockerfile linting with personality
- you need a fast single-binary linter with GitHub Action CI integration
- you want a private, client-side browser linter with no server upload
- you use hadolint rule IDs and want a compatible alternative

## When to avoid
- you need fully configurable, neutral-toned lint rules without opinions
- you require deep container image scanning beyond Dockerfile static analysis
- you depend on a linter with a large plugin ecosystem

## Facets
- artifact type: cli-tool
- maturity: active
- function: linter, static-site-generator, security, developer-tools, cli
- domain: developer-tools, security
- platform: cli, wasm, browser, cross-platform, windows
- tags: dockerfile-linter, static-analysis, hadolint-alternative, github-action, vscode-extension, neovim-plugin, snarky, devops, containers, command-line, docker, linux, macos

## Member repositories
- immanuwell/dockerfile-roast (main) score 80

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:30.988590+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:51:15.910941+00:00, confidence not recorded.
  - readme: https://github.com/immanuwell/dockerfile-roast (fetched 2026-08-28T04:03:30.988590+00:00, sha d08e56b0f2bb)
  - homepage: https://ewry.net/droast-dockerfile-linter/ (fetched 2026-08-29T12:53:19.952957+00:00, sha fc6443649ddd)
  - registry_crates: https://crates.io/api/v1/crates/dockerfile-roast (fetched 2026-08-29T12:53:19.961914+00:00, sha c2a5dd406a60)
- Data as of 2026-08-30T08:39:29.467469+00:00.
