CURSOR_AUTOVERIFY_AND_HOOKS.md 2.0 KB

Cursor 自动验证与 Git Hooks

目标

让团队成员在本项目中默认获得两层保障:

  • Cursor 侧:改完代码后自动进入“验证 -> 修复 -> 重验”闭环。
  • Git 侧:git push 前自动执行关键构建,失败即拦截。

已配置内容

  • 项目规则:.cursor/rules/auto-verify-fix-loop.mdc
  • 项目 Skill:.cursor/skills/aidop-auto-verify-fix-loop/SKILL.md
  • Web hooks 安装脚本:references/Admin.NET/Web/scripts/install-git-hooks.cjs
  • Web package.json 已添加:
    • prepare: node scripts/install-git-hooks.cjs

团队成员首次使用步骤

  1. 拉取仓库代码并用 Cursor 打开工作区(建议 SourceCode/ai-dop-platformSourceCode)。
  2. 安装 Web 依赖(会自动触发 prepare 安装 hook):
    • cd references/Admin.NET/Web
    • npm install(或 pnpm install
  3. 若依赖已装过,手动补装 hook:
    • npm run prepare

一句话初始化(Cursor Skill)

仓库已提供项目 Skill:aidop-project-initialize
新成员在 Cursor 中可直接说:AIDOP项目初始化,将执行标准初始化流程。

对应脚本:

  • tools/aidop_init.ps1
  • 支持可选参数:-StartServices(初始化后直接拉起前后端)

pre-push 默认检查

当前会按 本次 push 的改动文件 智能执行:

  1. 若改了 Web/ 下代码:执行前端构建(Web build
  2. 若改了 server/ 下代码:执行后端核心构建(Admin.NET.Core, net8.0
  3. 若都未命中:跳过构建检查

可通过环境变量强制全量校验:

  • AIDOP_VERIFY_ALL=1 git push

任一步失败则阻止 push,开发者先修复再推送。

常见问题

  • 看不到 hook 生效
    • 先确认仓库根目录存在 .git/
    • 再执行 npm run prepare,观察终端输出是否出现 pre-push installed
  • 机器没装 pnpm
    • hook 会自动 fallback 到 npm --prefix ... run build
  • dotnet 版本不对
    • 需要 .NET 8 SDK(net8.0)。