51 lines
1.8 KiB
Bash
51 lines
1.8 KiB
Bash
#!/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
|