Skip to main content

Documentation Index

Fetch the complete documentation index at: https://tally.wharflab.com/llms.txt

Use this file to discover all available pages before exploring further.

tally is a single self-contained binary. Pick the method that fits your environment.
brew install wharflab/tap/tally

Homebrew (macOS/Linux)

brew install wharflab/tap/tally
Run tally register-docker-plugin if you want Docker to discover the plugin without editing ~/.docker/config.json. Homebrew also installs a docker-lint symlink under Homebrew’s Docker plugin directory. See Docker CLI plugin if you prefer to configure Docker’s cliPluginsExtraDirs.

mise

mise use -g github:wharflab/tally@latest
This installs the latest tally release from GitHub and exposes the tally binary through mise’s global tool shims.

WinGet (Windows)

winget install --id Wharflab.Tally
Run tally register-docker-plugin after installation to register the plugin with Docker.

npm

npm install -g tally-cli
Use a global npm install for Docker CLI plugin setup. Project-local node_modules installs are rejected by tally register-docker-plugin.

Bun

bun add -g tally-cli
Use a global Bun install for Docker CLI plugin setup. bunx and project-local node_modules launches are rejected by tally register-docker-plugin.

uv

uv tool install tally-cli
Use uv tool install for Python-managed Docker CLI plugin setup. Active Python virtual environments are rejected by tally register-docker-plugin.

pip

pip install tally-cli

RubyGems

gem install tally-cli

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.

Image tags

TagDescription
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

Go

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
To enable the Docker CLI plugin, run the registration command from a global tally install:
tally register-docker-plugin
Then verify that Docker can discover it:
docker 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.