#!/bin/bash # PostToolUse hook — md 대규모 변경 시 대화로그 부재 감지·리마인더 # 신설 근거: 2026-04-17 클라이언트팀 B-2-1 설계 + 개발팀장 개선안 7 (커밋-대화로그 정합성) # 관련 규칙: P24 대화로그 기록 의무, C29-4 업무 완료 후 동기화 # stdin JSON에서 tool_name·file_path 파싱 INPUT=$(cat) TOOL=$(echo "$INPUT" | grep -oP '"tool_name":\s*"\K[^"]+' | head -1) FILE=$(echo "$INPUT" | grep -oP '"file_path":\s*"\K[^"]+' | head -1) # md 파일이 아니면 스킵 [[ "$FILE" != *.md ]] && exit 0 # Edit·Write·MultiEdit만 대상 case "$TOOL" in Edit|Write|MultiEdit) ;; *) exit 0 ;; esac REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null) [ -z "$REPO_ROOT" ] && exit 0 # 대화로그 파일 자체는 스킵 (무한 리마인더 방지) [[ "$FILE" == *"공유/대화로그/"* ]] && exit 0 # SKILL.md·settings.json 등 설정 파일은 스킵 (별도 커밋에서 처리) [[ "$FILE" == *".claude/"* ]] && exit 0 # 오늘 날짜 TODAY=$(date +%Y-%m-%d) # 프로젝트 추론: 파일 경로에서 "프로젝트/수상한잡화점" 등 감지 PROJECT="" if [[ "$FILE" == *"프로젝트/수상한잡화점"* ]]; then PROJECT="수상한잡화점" elif [[ "$FILE" == *"프로젝트/코어프레임워크"* || "$FILE" == *"코어코드/"* ]]; then PROJECT="코어프레임워크" elif [[ "$FILE" == *"공유/PD_지시_트래킹"* || "$FILE" == *"공유/조직공지"* || "$FILE" == *"공유/소통"* ]]; then PROJECT="조직운영" fi [ -z "$PROJECT" ] && exit 0 # 대화로그 파일 존재 확인 LOG_FILE="$REPO_ROOT/공유/대화로그/$PROJECT/$TODAY.md" if [ ! -f "$LOG_FILE" ]; then # JSON 출력: systemMessage + suppressOutput: false echo "{\"systemMessage\":\"📝 [대화로그 리마인더] $PROJECT/$TODAY.md 파일이 없습니다. $FILE 변경에 대한 P24 대화로그 엔트리 작성 권고.\",\"suppressOutput\":false}" fi exit 0