Files
VibeEngineering/.claude/hooks/pre-compact.sh

25 lines
627 B
Bash
Raw Normal View History

#!/usr/bin/env bash
# .claude/hooks/pre-compact.sh
# VibeEngineering V2 - PreCompact Hook
# 当上下文即将满时,从 transcript.jsonl 提取当前任务上下文
set -euo pipefail
# 使用 CLAUDE_PROJECT_DIR 环境变量确保路径正确
PROJECT_DIR="${CLAUDE_PROJECT_DIR:-.}"
cd "$PROJECT_DIR"
INPUT=$(cat)
TRANSCRIPT_PATH=$(echo "$INPUT" | jq -r '.transcript_path')
# 等待 transcript.jsonl 完全写入
sleep 1
# 确保 .vibe 目录存在
mkdir -p .vibe
# 调用 Node.js 脚本提取上下文
node "$PROJECT_DIR/.claude/hooks/extract-last-context.js" "$TRANSCRIPT_PATH" > .vibe/last_task_context.jsonl
exit 0