Deterministic by construction
A gate fires only when the violation is a binary condition over the file system, the git index or a parse tree. Same tree, same findings, on any machine: no model, no network, no threshold to tune.
36 deterministic checks over your repository: one Go binary, shared by your shell, your editor and your coding agent.
Three commands against a small broken project: real output, nothing staged:
lgit check runs the gates and persists findings. lgit list filters them. lgit fix explains one, and for the eight gates with deterministic recipes, tells you the exact commands rather than a paragraph of advice.
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m); [ "$ARCH" = x86_64 ] && ARCH=amd64; [ "$ARCH" = aarch64 ] && ARCH=arm64
curl -fsSL "https://github.com/fabriziosalmi/l0-git/releases/latest/download/lgit-$OS-$ARCH.tar.gz" | tar xz
sudo mv "lgit-$OS-$ARCH" /usr/local/bin/lgit
lgit check .Then wire it into Claude Code or install the VS Code extension.