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)
This commit was merged in pull request #57.
This commit is contained in:
2026-08-04 12:02:12 +08:00
parent 4ba4af2f53
commit 5c65139fd8
14 changed files with 888 additions and 2 deletions
+41
View File
@@ -0,0 +1,41 @@
---
description: 健身房管理系统专用系统调试 — 跨 Java API + Vue3 Web + UniApp 小程序排查
---
Gym ManageSpringBoot 多模块后端 + Vue3 管理后台 + UniApp 双小程序)系统化调试协议:
## 1. 复现确认
- 确认最小复现步骤(单测试 / 单操作 / 单输入)
- 区分环境:本地 Dev`pnpm dev`,端口 3002vs Docker`docker-compose logs -f backend/frontend/postgres`vs 微信开发者工具(小程序)
## 2. 分层隔离
按以下顺序定位故障层:
| 层级 | 检查点 | 快速验证 |
|------|--------|---------|
| 后端 Java | Controller / Service / Mapper、参数校验、异常处理 | `cd gym-manage-api && mvn compile` / `mvn test` |
| Gateway 路由 | `/api/**` → 8084 转发、CORS、鉴权过滤器 | Gateway 控制台日志 |
| Web 前端 | `gym-manage-web/src/api/*.api.ts` 请求层、views 组件、store | `cd gym-manage-web && pnpm test` / 浏览器 DevTools Network |
| UniApp 小程序 | `gym-manage-uniapp/api/*.js`、pages 页面 | 微信开发者工具控制台(`urlCheck: false` 已关闭) |
| 数据库 | SQL 错误、数据不一致 | `psql -U novalon -d manage_system -p 55432` |
## 3. 二分排查
- 对 Java 逻辑:加日志(SLF4J DEBUG)或单测缩小范围
- 对接口联调:用 Swagger`:8084/swagger-ui.html`)直接调接口,确认后端返回 → 再查前端请求参数
- 对 UIVue DevTools 组件树 + Network 标签比对请求/响应
## 4. 检查最近变更
```bash
git diff --name-only HEAD~5 # 最近 5 次提交变更
git log --oneline -10 # 最近 10 条提交
```
## 5. 运行受影响测试
```bash
cd gym-manage-api && mvn test -pl <受影响模块> -am # 后端
cd gym-manage-web && pnpm test # Web 前端
cd gym-manage-web && pnpm test:e2e # Web E2EPlaywright
```
## 6. 确认根因后才提修复方案
- 记录完整的复现路径与根因证据
- 修复后走完整验证:受影响单测 + 类型检查(`vue-tsc`)+ 真实后端联调(Mock 通过 ≠ 功能可用,见 AGENTS.md §13
+39
View File
@@ -0,0 +1,39 @@
---
description: 健身房管理系统全链路集成审查 — API → Service → Web 组件 / UniApp 页面 → 测试 → CI
---
Gym Manage 项目专用集成审查,覆盖全链路:
## 全链路检查清单
### 1. 后端 Java
- `cd gym-manage-api && mvn compile` — 编译检查
- `cd gym-manage-api && mvn test` — 单元+集成测试(JUnit 5)
- Controller → Service → Mapper 分层清晰,无 Controller 直连 Repository
- DTO/VO 与实体分离,响应结构统一(code/message/data
### 2. 接口契约
- Web 端 `gym-manage-web/src/api/*.api.ts` 请求路径/方法/参数与 Java Controller 注解一致
- UniApp 端 `gym-manage-uniapp/api/*.js``gym-manage-coach-uniapp/api/*.js` 同步一致
- 新增接口已登记(Swagger 注解齐全:`@ApiOperation`/`@ApiModelProperty`
### 3. Web 前端
- `cd gym-manage-web && pnpm exec vue-tsc --noEmit` — 类型检查
- `cd gym-manage-web && pnpm lint` — lint
- 组件通过 `src/api/*.api.ts` 取数,无直接裸 `fetch`/`axios` 绕过
- store(pinia)状态变更向后兼容;类型与后端 DTO 无漂移
### 4. UniApp 小程序
- 会员端 / 教练端页面通过 `api/*.js` 取数,请求封装(`utils/request.js`)一致
- 页面展示字段与接口返回字段对齐(camelCase ↔ 后端命名)
### 5. 测试覆盖
- 后端:`mvn test` 覆盖新增 Service 核心分支 + 边界
- Web`pnpm test`(vitest)覆盖组件关键行为;新增测试通过 `bash scripts/flaky-scan.sh --spec <文件> --runs 3`
- 检查 `.only()` / `.skip()` / `console.log` 等调试遗留
### 6. CI 门禁
- `cd gym-manage-web && pnpm build` — 生产构建通过
- Jenkins pipelineJenkinsfile)兼容性;根目录 `run-all-tests.ps1` 可本地全量回归
## 报告格式
输出简洁表格:层、状态(✅/❌/⚠️)、发现的问题
+44
View File
@@ -0,0 +1,44 @@
---
description: 健身房管理系统专属质量门禁与发布流程 — 构建→测试→提交→推送
---
Gym Manage 项目质量门禁和提交发布流程:
## 质量门禁(按顺序执行)
```bash
# Step 1: 后端编译 + 测试(受影响模块)
cd gym-manage-api && mvn test -pl <受影响模块> -am
# Step 2: Web 前端类型检查 + 单元测试
cd gym-manage-web && pnpm exec vue-tsc --noEmit
cd gym-manage-web && pnpm test
# Step 3: Web E2E(涉及页面交互时)
cd gym-manage-web && pnpm test:e2e
# Step 4: 新增/修改测试的 flaky 门禁(P1AGENTS.md §22
bash scripts/flaky-scan.sh --spec <新文件> --runs 3
# Step 5: 构建验证
cd gym-manage-web && pnpm build
```
## Git 操作规范
### 提交信息格式
```
类型(范围): 中文描述
- 类型: feat / fix / refactor / test / docs / chore / perf / style
- 范围: api / web / uniapp / coach / config / ci / deps
```
### 提交前检查
-`// TODO` / `// FIXME` / `console.log` 残留
- 无空函数体或 `throw new UnsupportedOperationException()` 等骨架占位
-`.only()` / `.skip()` 在测试中
- 已从两个独立信源交叉验证(AGENTS.md §7
### 推送前检查
- Jenkins CI pipeline 兼容性(`Jenkinsfile` 在 root
- 全链路打通(API → Service → Web/UniAppAGENTS.md §13)——Mock 通过 ≠ 功能可用,需真实后端验证