This page is the recommended playbook for routine local validation.
For a routine Lean change, run:
lake buildOn a cold clone, fetch precompiled dependencies first:
lake exe cache get
lake buildlake buildlake build
lake test./scripts/update-lib.sh
./scripts/check-imports.sh
lake buildCompPoly.lean is generated from tracked CompPoly/**/*.lean files. If it changes,
commit the regenerated file with the source changes.
./scripts/lint-style.shThis is stricter than a plain build. It runs the repository style linter and the
global Lean-file checks in ../../scripts/README.md.
python3 ./scripts/check-docs-integrity.pyRun this when editing AGENTS.md, README.md, CONTRIBUTING.md, or files under
docs/.
lake build CompPolyBench
lake exe CompPolyBench --medium../../.github/workflows/lean_action_ci.ymlruns a clean build, warm rebuild, andlake test, then posts a build-timing report. It also builds and runsCompPolyBench --medium, then uploads benchmark reports as CI artifacts.../../.github/workflows/linting.ymlruns the style linter on changed.leanfiles in PRs and push builds.../../.github/workflows/check_imports.ymlchecks thatCompPoly.leanmatches the tracked source tree.../../.github/workflows/docs-integrity.ymlchecks theCLAUDE.mdsymlink and local markdown links.
Use the direct scripts when debugging a specific failure:
./scripts/update-lib.sh
./scripts/check-imports.sh
./scripts/lint-style.sh
python3 ./scripts/check-docs-integrity.py
lake test
lake build CompPolyBenchFor more detail on the helper scripts, see
../../scripts/README.md.