首页 › tutorials › .claude/hooks/session-start.sh — 会话启动自动注入项目状态

.claude/hooks/session-start.sh — 会话启动自动注入项目状态

set -euo pipefail input=$(cat) source=$(jq -r '.source // "startup"' <<< "$input") project="${CLAUDE_PROJECT_DIR:-$PWD}"

branch=$(git -C "$project" rev-parse --abbrev-ref HEAD 2>/dev/null || echo "非git仓库") recent=$(git -C "$project" log --oneline -5 2>/dev/null || echo "无提交历史") todos="" [[ -f "$project/TODO.md" ]] && todos=$(head -c 800 "$project/TODO.md")

ctx="【自动注入的项目状态】(source=$source) 当前分支: $branch 最近5条提交: $recent 当前待办: $todos"

jq -nc --arg