Hook scripts in .slam/hooks/ are executed at each stage of the build
pipeline. If a script exists and is executable, it runs; a non-zero
exit stops the build.
Available hooks:
pre_format / post_format
pre_install / post_install
pre_test / post_test
pre_build / post_build
The init command now creates .slam/hooks/ with a README documenting
usage and examples, and includes a default pre_format hook that
initializes any git submodules that are present.