🔧 chore: pre-commit 훅 추가하여 .claude/common 변경 방지

This commit is contained in:
“hyeonggkim”
2026-04-13 14:21:58 +09:00
parent c58d698df6
commit fb31c8d7e5

View File

@@ -136,6 +136,33 @@ if [[ -d "$SKILLS_SRC" ]]; then
done
fi
# 7) pre-commit 훅: .claude/common 변경 커밋 방지
HOOK_DIR="$(git rev-parse --git-dir)/hooks"
HOOK_FILE="$HOOK_DIR/pre-commit"
HOOK_MARKER="# gameservice-fe-agent: block .claude/common commit"
mkdir -p "$HOOK_DIR"
if [[ -f "$HOOK_FILE" ]] && grep -qF "$HOOK_MARKER" "$HOOK_FILE"; then
echo " pre-commit 훅에 .claude/common 보호 규칙이 이미 있습니다. 건너뜁니다."
else
# 훅이 없으면 새로 생성, 있으면 기존 훅 뒤에 추가
if [[ ! -f "$HOOK_FILE" ]]; then
echo "#!/usr/bin/env bash" > "$HOOK_FILE"
fi
cat >> "$HOOK_FILE" <<'HOOK'
# gameservice-fe-agent: block .claude/common commit
if git diff --cached --name-only | grep -q "^\.claude/common"; then
echo "❌ .claude/common (gameservice-fe-agent submodule) 변경은 커밋할 수 없습니다."
echo " 공통 지침 수정은 gameservice-fe-agent 저장소에서 PR을 통해 진행해 주세요."
exit 1
fi
HOOK
chmod +x "$HOOK_FILE"
echo "✅ pre-commit 훅을 설치했습니다. (.claude/common 변경 커밋 방지)"
fi
echo ""
echo "🎉 설치가 완료되었습니다."
echo " - 공통 지침: $TARGET_PATH/CLAUDE.md"