# 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-platform` 或 `SourceCode`)。 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`)。