session-start-memory.sh
세션 시작 시 프로젝트 메모리를 로드하여 이전 세션의 학습 내용을 현재 컨텍스트에 주입한다.
Trigger
SessionStart
Source Code
1#!/bin/bash
2# Session Start Hook: 프로젝트 메모리를 로드하여 컨텍스트에 주입
3# OMC 패턴 차용 - vault 자체 구현
4
5MEMORY_DIR="$CLAUDE_PROJECT_DIR/.claude/memory"
6MEMORY_FILE="$MEMORY_DIR/project-memory.json"
7
8if [ ! -f "$MEMORY_FILE" ]; then
9 exit 0
10fi
11
12# 메모리 파일이 비어있으면 스킵
13if [ ! -s "$MEMORY_FILE" ]; then
14 exit 0
15fi
16
17# 메모리 요약 출력 (컨텍스트에 주입됨)
18ENTRY_COUNT=$(python3 -c "import json; data=json.load(open('$MEMORY_FILE')); print(len(data.get('entries', [])))" 2>/dev/null || echo "0")
19
20if [ "$ENTRY_COUNT" -gt 0 ]; then
21 echo "[SessionStart] 프로젝트 메모리 로드됨: ${ENTRY_COUNT}개 항목"
22 # 최근 5개 항목의 키만 출력하여 컨텍스트 절약
23 python3 -c "
24import json
25data = json.load(open('$MEMORY_FILE'))
26entries = data.get('entries', [])
27recent = entries[-5:]
28for e in recent:
29 print(f\" - [{e.get('category', 'general')}] {e.get('key', 'unknown')}: {e.get('summary', '')[:80]}\")
30" 2>/dev/null
31fi
32