Files
gym-manage/.agents/hooks/session-start.sh
T
zhangxiang 5c65139fd8 chore(config): 参考 novavis 完善 Agent 配置体系
- AGENTS.md: 新增 §20 工具脚本复用 / §21 分析结论复用 / §22 Flaky 门禁,更新文档配置表
- .pi/: 新增 settings.json、rules/guardrails.md、prompts/{debug,review,ship}-gym-manage.md
- .agents/: 新增 Hook 配置与 4 个 Hook 脚本(session-start/pre-agent-check/check-completeness/stop-check)
  及 protocols/systematic-debugging.md(check-completeness 含接口链缺口检测)
- scripts/flaky-scan.sh: vitest shuffle 稳定性扫描(gym-manage-web)
- .gitignore: 追踪 AGENTS.md 与 .pi 配置,忽略运行时缓存(todos/taskflows-runs/tokenomy/sessions)
2026-08-04 12:02:12 +08:00

60 lines
3.0 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# SessionStart hook: 启动时输出项目关键上下文和集成提醒
# 不阻止会话启动,仅输出提示信息
set -euo pipefail
PROJECT_DIR="${AGENT_PROJECT_DIR:-$(pwd)}"
cd "$PROJECT_DIR"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Gym Manage — 项目上下文"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
# 当前分支
BRANCH=$(git branch --show-current 2>/dev/null || echo "未知")
echo " 分支: $BRANCH"
# 变更文件统计
STAGED=$(git diff --cached --name-only 2>/dev/null | wc -l | tr -d ' ')
UNSTAGED=$(git diff --name-only 2>/dev/null | wc -l | tr -d ' ')
echo " 变更: ${STAGED} 个暂存, ${UNSTAGED} 个未暂存"
# 检测关键文件变更
CHANGED_FILES=$(git diff --name-only HEAD 2>/dev/null; git diff --cached --name-only 2>/dev/null; git ls-files --others --exclude-standard 2>/dev/null | sort -u)
HAS_API_CHANGE=""
HAS_WEB_API_CHANGE=""
HAS_UNIAPP_CHANGE=""
while IFS= read -r f; do
[ -z "$f" ] && continue
case "$f" in
gym-manage-api/*.java) HAS_API_CHANGE="yes" ;;
gym-manage-web/src/api/*.api.ts) HAS_WEB_API_CHANGE="yes" ;;
gym-manage-uniapp/api/*.js|gym-manage-coach-uniapp/api/*.js) HAS_UNIAPP_CHANGE="yes" ;;
esac
done <<< "$CHANGED_FILES"
# 集成提醒
if [ -n "$HAS_API_CHANGE" ] || [ -n "$HAS_WEB_API_CHANGE" ] || [ -n "$HAS_UNIAPP_CHANGE" ]; then
echo ""
echo " ⚠️ 检测到接口相关文件变更,请确保全链路完整性:"
echo ""
echo " ┌─ Layer 1: Java Controllergym-manage-api)─────────────┐"
echo " │ @RestController / @RequestMapping / Service 层 │"
echo " ├─ Layer 2: Web 请求层 ──────────────────────────────────┤"
echo " │ gym-manage-web/src/api/*.api.ts(请求路径/参数/类型) │"
echo " ├─ Layer 3: UniApp 请求层 ───────────────────────────────┤"
echo " │ gym-manage-uniapp/api/*.js + coach-uniapp/api/*.js │"
echo " ├─ Layer 4: 页面/组件 ───────────────────────────────────┤"
echo " │ gym-manage-web/src/views/* + uniapp pages/* │"
echo " └─ Layer 5: 测试验证 ────────────────────────────────────┘"
echo " mvn test(后端)+ pnpm testWeb+ flaky-scan(§22"
echo ""
echo " 详细清单: AGENT.md(架构/命令/端口)+ AGENTS.md §13/§17"
echo ""
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""