CURSOR_AUTOVERIFY_AND_HOOKS.md 2.1 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 安装脚本:Web/scripts/install-git-hooks.cjs(主库根相对路径)
  • Web package.json 已添加:
    • prepare: node scripts/install-git-hooks.cjs

团队成员首次使用步骤

  1. 拉取 Ai-DOP 主库ai-dop)并用 Cursor 打开工作区(建议主库根目录,或仅 ai-dop-platform/;本机 SourceCode/ai-dop-platform 可为指向主库内该目录的 junction)。
  2. 安装 Web 依赖(会自动触发 prepare 安装 hook):
    • cd 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)。