.PHONY: test lint fmt fmt-check check docker hooks # Makefile targets are thin shims; the implementations live in script/ # per the scripts-to-rule-them-all pattern (see the Entrypoints section # of README.md). test: @script/test lint: @script/lint fmt: @script/fmt fmt-check: @script/fmt-check check: @script/check docker: @script/docker hooks: @printf '#!/bin/sh\nset -e\n' > .git/hooks/pre-commit @if [ -f go.mod ]; then \ printf 'go mod tidy\ngo fmt ./...\ngit diff --exit-code -- go.mod go.sum || { echo "go mod tidy changed files; please stage and retry"; exit 1; }\n' >> .git/hooks/pre-commit; \ fi @printf 'script/precommit\n' >> .git/hooks/pre-commit @chmod +x .git/hooks/pre-commit @echo "pre-commit hook installed"