BurningTimesAi/scripts/context_brief.sh

51 lines
1.8 KiB
Bash
Raw Permalink Normal View History

#!/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