chore: 参考 novavis 优化 Agent 配置体系

新增 AGENTS.md 规则(§1-§22)、Hook 脚本和可复用工具脚本:

- 重构 AGENTS.md:新增 16 条规则(任务分解、双轨验证、骨架占位禁止、
  测试命令退出码保留、工具脚本可复用、完成前验证门禁、Flaky 测试门禁等)
- 新增 .trae/hooks/:session-start / pre-agent-check / check-completeness / stop-check
- 新增 .trae/settings.json:关联 4 个 Hook 到 SessionStart/PreToolUse/PostToolUse/Stop
- 新增 scripts/:flaky-scan.sh / check-task-checklist.sh / check-issue-checklist.sh
- 调整 .gitignore:保留 hooks/settings 纳入版本控制,忽略运行时状态文件
This commit is contained in:
2026-08-12 22:07:22 +08:00
parent 64a1ce7bcd
commit 5445c343b3
8 changed files with 617 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
#!/usr/bin/env bash
# PreToolUse hook: 写操作前根据文件路径输出 Skill 提示
# 不阻止操作,仅输出提示信息
set -euo pipefail
f="${AGENT_EDITED_FILE:-$AGENT_FILE}"
[ -z "$f" ] && exit 0
[ ! -f "$f" ] && [ ! -e "$f" ] && exit 0
basename=$(basename "$f")
# Skill 提示: 命中时输出,供 agent 决策(AGENTS.md §3 Skill-First
skill_hint() {
local name="$1"; shift
echo " → [SKILL] $name: $*"
}
# 检查 1: 算法文件 → 提示 TDD + 交叉验证
if [[ "$f" == *"/algorithms/"* ]]; then
echo ""
echo "[PRE-CHECK] 算法变更: $basename"
skill_hint "tdd" "RED-GREEN-REFACTOR 测试优先"
skill_hint "systematic-debugging" "算法结果须与传统典籍/已知实现交叉验证"
echo ""
exit 0
fi
# 检查 2: 测试文件 → 提示测试相关 skill
if [[ "$basename" == *.test.* || "$basename" == *.spec.* || "$f" == *"/__tests__/"* ]]; then
echo ""
echo "[PRE-CHECK] 测试文件变更: $basename"
skill_hint "tdd" "RED-GREEN-REFACTOR 测试优先"
skill_hint "systematic-debugging" "测试失败先定位根因再修复"
echo ""
exit 0
fi
# 检查 3: 组件文件 → 提示前端设计 skill
if [[ "$f" == *"/components/"* && "$basename" == *.vue ]]; then
echo ""
echo "[PRE-CHECK] 组件变更: $basename"
skill_hint "frontend-design" "UniApp 组件设计最佳实践"
skill_hint "impeccable" "UI 审查与视觉打磨"
echo ""
exit 0
fi
# 检查 4: 页面文件 → 提示全链路验证
if [[ "$f" == *"/pages/"* && "$basename" == *.vue ]]; then
echo ""
echo "[PRE-CHECK] 页面变更: $basename"
skill_hint "frontend-design" "页面布局与交互设计"
echo ""
exit 0
fi
# 检查 5: 国际化文件 → 提示同步所有语言
if [[ "$f" == *"/locales/"* && "$basename" == *.ts ]]; then
echo ""
echo "[PRE-CHECK] 国际化变更: $basename"
echo " → 确保同步更新所有 locales/*.ts 文件"
echo ""
exit 0
fi
# 检查 6: 文档/注释类 → 中文文档规范
if [[ "$basename" == *.md || "$basename" == *.adoc ]]; then
echo ""
echo "[PRE-CHECK] 文档变更: $basename"
skill_hint "chinese-documentation" "中文排版/术语/结构规范"
echo ""
exit 0
fi