25 lines
627 B
Bash
25 lines
627 B
Bash
|
|
#!/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
|