Get sift running

A single self-contained binary. No runtime dependencies for the prebuilt releases; building from source needs Go 1.26 or newer.

curl -fsSL https://bethropolis.github.io/sift/install.sh | sh

Installs to ~/.local/bin.

  • To install somewhere else, set SIFT_INSTALL_DIR first: SIFT_INSTALL_DIR="$HOME/bin" curl -fsSL https://bethropolis.github.io/sift/install.sh | sh
  • If ~/.local/bin isn't already on your PATH, add export PATH="$HOME/.local/bin:$PATH" to your shell profile.
brew install bethropolis/tap/sift
scoop bucket add bethropolis https://github.com/bethropolis/scoop-bucket
scoop install sift
go install github.com/bethropolis/sift/cmd/sift@latest

Builds a copy without the CGO-only signature engine unless your toolchain has cgo enabled. Prebuilt release binaries always include --mode signatures support.

git clone https://github.com/bethropolis/sift.git
cd sift
./scripts/install.sh

Builds the checkout and installs to ~/.local/bin (override with SIFT_INSTALL_DIR). Or build manually with go build -o "$HOME/.local/bin/sift" ./cmd/sift.

Prebuilt archives for Linux, Windows, macOS, and FreeBSD (amd64, arm64, 386, armv7 where Go supports them) are on the releases page.

Check the install

sift version
sift dump . --output -

sift version prints the installed version; sift dump . --output - scans the current directory and prints a context document to standard output.

Staying current

Re-run the same install command to upgrade. It overwrites the existing binary. State and preferences live under your application config directory and survive upgrades. To remove sift entirely:

rm -f ~/.local/bin/sift               # curl / local installer
brew uninstall bethropolis/tap/sift   # Homebrew
scoop uninstall sift                  # Scoop

rm -rf ~/.config/sift                 # optional: config, state, preferences