shwrk harness

Makefile Interface

Every harnessed repo has a root Makefile that includes the harness's Makefile.core:

include Makefile.core

The contract

Target names are fixed and language-agnostic. The command each target runs lives in an overridable ?= variable. To adapt a repo to a different toolchain, set the variable in your root Makefile before the include:

LINT_CMD      = ruff check .
TEST_CMD      = pytest -q
TYPECHECK_CMD = mypy .
include Makefile.core

Do not redefine the targets themselves — only the *_CMD variables.

Targets

TargetMeaningDefault command
checkthe gate: everything below, convergence test last
buildproduce the deployable artifactwrangler deploy --dry-run
lintlintbiome check .
formatformat check (not write)biome format .
typechecktype checktsc --noEmit
testunit / integration testsvitest run
deadcodeunused exports / files / depsknip
smokehit /health + key routesscripts/smoke.sh
harness-checkconvergence / invariant testscripts/harness-check.sh
initone-time per-repo setup (installs hooks)scripts/init.sh
releasetag + git-cliff CHANGELOG + push tagscripts/release.sh

Rules the harness enforces

make (no target) runs check — that is the default goal.