| # Makefile — common lab tasks | |
| # Requires uv in PATH (~/.local/bin/uv). | |
| .PHONY: setup lint fmt typecheck models status clean | |
| setup: ## Full environment (venv + CUDA toolkit) | |
| uv sync | |
| bash scripts/prepare-cuda.sh || true | |
| lint: ## ruff check | |
| uv run ruff check scripts/ | |
| fmt: ## ruff format (applies) | |
| uv run ruff format scripts/ | |
| fmt-check: ## ruff format --check | |
| uv run ruff format --check scripts/ | |
| typecheck: ## pyright | |
| uv run pyright scripts/ | |
| models: ## List available GGUFs in models/ | |
| ls -lh models/ | |
| status: ## Live project status | |
| @cat STATUS.md | |
| clean: ## Remove regenerable artifacts (does NOT delete models/) | |
| rm -rf experiments/runs/* | |
| help: | |
| @grep -E '^[a-zA-Z-]+:.*?## .*$$' Makefile | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-12s\033[0m %s\n", $$1, $$2}' | |