#!/bin/sh
# script/precommit: run by the git pre-commit hook; fails the commit if
# checks fail. Our own extension to scripts-to-rule-them-all.
#
# Runs lint and fmt-check but deliberately NOT the tests, so the TDD
# red-phase commit (failing tests, no implementation yet) can land. CI
# runs script/cibuild, which builds both images and so catches any
# branch that ships red.
#
# script/lint is a docker build (Dockerfile.lint); docker is required to
# commit, which is the point of linting one way, everywhere.
set -eu

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)"

main() {
    "$SCRIPT_DIR/lint"
    "$SCRIPT_DIR/fmt-check"
}

main "$@"
