Merge: relax pre-commit hook to support TDD red-phase commits

이 커밋은 다음에 포함됨:
2026-05-09 21:39:34 +02:00
2개의 변경된 파일과 11개의 추가작업 그리고 2개의 파일을 삭제
+6 -2
파일 보기
@@ -36,6 +36,10 @@ docker:
docker build -t quack . docker build -t quack .
hooks: hooks:
@printf '#!/bin/sh\nset -e\nmake check\n' > .git/hooks/pre-commit @printf '#!/bin/sh\nset -e\nmake lint\nmake fmt-check\n' > .git/hooks/pre-commit
@chmod +x .git/hooks/pre-commit @chmod +x .git/hooks/pre-commit
@echo "Installed pre-commit hook (runs make check)." @echo "Installed pre-commit hook (runs make lint && make fmt-check)."
@echo "Note: tests are deliberately not in the pre-commit hook so the"
@echo "TDD red-phase commit (failing tests, no implementation yet)"
@echo "can land. CI runs make check via docker build, which catches"
@echo "any branch that ships red."
+5
파일 보기
@@ -90,6 +90,11 @@ All work on quack is test-driven. No exceptions.
test-then-implementation sequence into reviewable commits, but the final test-then-implementation sequence into reviewable commits, but the final
history must still show tests landing before (or with) the matching history must still show tests landing before (or with) the matching
implementation. implementation.
8. The pre-commit hook installed by `make hooks` runs
`make lint && make fmt-check`, not the full `make check`. This is deliberate
so the TDD red-phase commit (failing tests, no implementation yet) can land.
The full `make check` runs as part of `docker build .`, which is what CI
executes, so a red branch still cannot reach `main`.
## Design ## Design