tally is a single self-contained binary. Pick the method that fits your environment.
Homebrew
WinGet
npm
pip
RubyGems
Go
brew install wharflab/tap/tally
Homebrew (macOS/Linux)
brew install wharflab/tap/tally
WinGet (Windows)
winget install -- id Wharflab.Tally
npm
pip
RubyGems
Docker / Podman
Official images are published to GitHub Container Registry at ghcr.io/wharflab/tally. All images are signed with
cosign (keyless/OIDC).
The Linux image is distroless, non-root, and shell-free. It contains only the tally binary. The Windows image is built on Nano Server.
Tag Description ghcr.io/wharflab/tally:latestMulti-platform image index: auto-selects linux/amd64, linux/arm64, or windows/amd64 ghcr.io/wharflab/tally:v<VERSION>Versioned multi-platform image index (e.g., v1.2.3) ghcr.io/wharflab/tally:v<VERSION>-linux-amd64Per-platform tag ghcr.io/wharflab/tally:v<VERSION>-linux-arm64Per-platform tag ghcr.io/wharflab/tally:v<VERSION>-windows-amd64Per-platform tag
Docker (Linux)
# Check the version
docker run --rm ghcr.io/wharflab/tally:latest version
# Lint a Dockerfile in the current directory
docker run --rm -v " $PWD :/work" -w /work ghcr.io/wharflab/tally:latest lint Dockerfile
Podman (Linux)
# Check the version
podman run --rm ghcr.io/wharflab/tally:latest version
# Lint all Dockerfiles recursively (note the :Z label for SELinux)
podman run --rm -v " $PWD :/work:Z" -w /work ghcr.io/wharflab/tally:latest lint .
Docker (Windows containers)
# Check the version
docker run -- rm ghcr.io / wharflab / tally:latest version
# Lint a Dockerfile
docker run -- rm - v " ${PWD} :C:\work" - w C:\work ghcr.io / wharflab / tally:latest lint Dockerfile
Verify image signatures
All published images are signed with cosign via keyless/OIDC. Verify before use:
cosign verify --certificate-identity-regexp= 'https://github.com/wharflab/tally' \
--certificate-oidc-issuer= 'https://token.actions.githubusercontent.com' \
ghcr.io/wharflab/tally:latest
Requires Go 1.21 or later.
go install github.com/wharflab/tally@latest
From source
git clone https://github.com/wharflab/tally.git
cd tally
go build .
Verify your installation
After installing, confirm tally is on your PATH:
tally --help
tally lint --help
Check the installed version:
# Human-readable
tally version
# Machine-readable JSON (includes ShellCheck version)
tally version --json
If the command is not found, make sure the install location is in your PATH (for Go installs, this is usually $GOPATH/bin or $HOME/go/bin).
Run tally lint . from your project root to immediately lint every Dockerfile and Containerfile in the repo.