#!/bin/bash # 부서 CONTEXT_BRIEF.md 자동 갱신 # PM 허브에서 Agent로 부서 서브에이전트 호출 시 컨텍스트 단절 최소화 # 사용: 각 부서 세션에서 push 전 또는 P21 세션 갱신 시 실행 REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null) [ -z "$REPO_ROOT" ] && exit 0 # 현재 부서 판별 CURRENT_DIR=$(pwd) DEPT="" BRIEF_PATH="" LOG_PATH="" case "$CURRENT_DIR" in *개발실*) DEPT="개발실"; BRIEF_PATH="$REPO_ROOT/개발실/CONTEXT_BRIEF.md"; LOG_PATH="$REPO_ROOT/공유/PD_지시_트래킹/개발실_PD_지시_로그.md" ;; *기획실*) DEPT="기획실"; BRIEF_PATH="$REPO_ROOT/기획실/CONTEXT_BRIEF.md"; LOG_PATH="$REPO_ROOT/공유/PD_지시_트래킹/기획실_PD_지시_로그.md" ;; *) exit 0 ;; # PM 세션은 대상 아님 esac echo "# ${DEPT} 컨텍스트 브리프 (자동 갱신)" > "$BRIEF_PATH" echo "> 최종 갱신: $(date +%Y-%m-%d\ %H:%M)" >> "$BRIEF_PATH" echo "" >> "$BRIEF_PATH" # 활성 지시 요약 echo "## 활성 지시" >> "$BRIEF_PATH" if [ -f "$LOG_PATH" ]; then ACTIVE=$(sed -n '/## 활성 지시/,/## 완료 아카이브/p' "$LOG_PATH" 2>/dev/null | grep -E '^\|.*\|(진행중|보류|대기)\|' | head -10) if [ -n "$ACTIVE" ]; then echo "$ACTIVE" >> "$BRIEF_PATH" else echo "활성 항목 없음" >> "$BRIEF_PATH" fi fi echo "" >> "$BRIEF_PATH" # HOLD·차단 요인 echo "## HOLD·차단 요인" >> "$BRIEF_PATH" HOLDS=$(find "$REPO_ROOT/${DEPT}" -maxdepth 1 \( -name '🛑_*' -o -name '⚠️_*' -o -name '🚨_*' \) 2>/dev/null) if [ -n "$HOLDS" ]; then echo "$HOLDS" | while read -r f; do echo "- $(basename "$f")" ; done >> "$BRIEF_PATH" else echo "없음" >> "$BRIEF_PATH" fi echo "" >> "$BRIEF_PATH" # 최근 커밋 echo "## 최근 커밋 5건" >> "$BRIEF_PATH" git log --oneline -5 >> "$BRIEF_PATH" exit 0