A freshly-cloned repo had no path to a working environment: building the
dev image, wiring git hooks, and installing VM tooling were all manual,
undocumented steps. This makes onboarding reproducible across machines.
scripts/setup-dev-environment.sh is idempotent and safe to re-run:
- Verifies OS, ensures Docker + docker group, starts daemon if needed
- Builds the knel-football-dev image
- Configures git hooks (SDLC enforcement)
- Creates output/ and tmp/ working dirs
- Installs VM tooling (libvirt/qemu/ovmf/swtpm) by default, since the
ultimate artifact is an ISO that must be booted in a VM with serial
capture to verify it works. --skip-vm opts out for build-only envs.
- Runs a smoke test (lint + unit tests) and prints a status summary
README "First-Time Setup" now points at this script instead of the
bare setup-githooks.sh step.
💘 Generated with Crush
Assisted-by: GLM-4.7 via Crush <crush@charm.land>