Skip to content

Make Targets

All tasks run through GNU Make. The Makefile exports CGO_ENABLED=0 for every target except test. Go’s race detector needs cgo on Linux.

Target Command
make build go build -trimpath with version ldflags, stripped (-s -w) → bin/whac (static, pure Go)
make test go test -race ./...
make lint golangci-lint v2.15.0 through go run with the strict .golangci.yml, then go mod tidy -diff
make vet-cue cue vet -c ./internal/rules/builtin/: the schema, the builtin rules and their mustMatch samples
make dist One release archive for GOOS/GOARCH (default: the host) in dist/
make release Archives for Linux and macOS on amd64 and arm64, plus dist/SHA256SUMS
make bench Engine throughput and rule-load benchmarks
make wiki okfw validate --all && okfw validate --okf on the project wiki
make docs-style scripts/ste-check.py: checks the documentation against ASD-STE100 rules
make docs-dev Serve this site with live reload (bun)
make docs-build Build this site into docs/dist, the same build as the Pages deploy
make clean Remove bin/

Before a commit, run make lint vet-cue test docs-style. When the CLI exists, also run make build. Fix each failure and run the gates again until all pass.