plugin/hooks/tdd-guard.sh · PreToolUse[Edit|Write]
# 구현 코드 작성 시, 테스트 파일이 먼저 있는지 체크
INPUT=$(cat)
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path')
# 테스트·설정·타입·프레임워크 파일은 통과 (화이트리스트)
case "$FILE_PATH" in
*test*|*spec*|*__tests__*) exit 0 ;;
*.json|*.css|*.md|*.config.*) exit 0 ;;
*/types/*|*/page.tsx|*/layout.tsx) exit 0 ;;
esac
# 소스 파일이면 대응 테스트 존재 확인
if [ "$TEST_FOUND" = false ]; then
cat <<EOF
{ "hookSpecificOutput": {
"permissionDecision": "deny",
"permissionDecisionReason":
"TDD GUARD: 테스트 파일이 없습니다.
구현 전에 테스트를 먼저 작성하세요." } }
EOF
fi
exit 0