Files
ai-proj-helper/skills-dev/review-checklist-plugin/checklists/ai-proj.md
John Qiu 3706d7f32d feat(skill): REQ-20260406-0004 技能三层分离重构(7主线+16插件)
批次1: req-prd 瘦身 + req-design 重定位 + dev-coding 聚焦
批次2: dev-review 新建 + review-checklist 插件
批次3: dev-integration 新建 + req-compare 拆出
批次4: 插件完善 (req-research/db-migration/dev-scaffold/deploy-rollback)
批次5: 平台拆分 (dev-ios/dev-android/dev-mcp/dev-pda) + dev 分组更新
批次6: marketplace.json 32→44 plugins

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:44:08 +09:30

43 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI-Proj 代码评审检查清单
## 后端Go + Gin + GORM
### 分层架构
- [ ] Handler 是否直接 import `database/` 包?— 禁止,必须通过 Service 层。教训:架构退化导致循环依赖
- [ ] 新 Handler 是否在 routes/ 中注册?— 遗漏会导致 404
- [ ] MCP 专用 endpoint 是否包含 `/mcp/` 前缀?— 教训:缺少前缀导致 MCP bridge 404
### 数据库
- [ ] 新增 Migration 文件名是否符合 `YYYYMMDDHHMMSS_xxx.up.sql` 格式?
- [ ] Migration 是否有对应的 `.down.sql`
- [ ] GORM 查询是否带 `tenant_id` 过滤?(多租户安全)
- [ ] 软删除查询是否正确使用 `Unscoped()`?— 误用导致查不到已删除数据或查出已删除数据
### 认证与权限
- [ ] 新 API 是否配置了 Auth 中间件?— 遗漏导致未授权访问
- [ ] JWT token 类型是否区分 access/refresh— 教训token 混用导致安全漏洞
- [ ] bcrypt cost 是否使用 12— 教训:默认 cost 10 导致登录失败
### Redis
- [ ] Redis key 是否有 TTL— 缺少 TTL 导致内存泄露
- [ ] Redis 不可用时是否降级到数据库?
## 前端React 18 + Ant Design
### Modal 安全
- [ ] `Modal.success/info/warning/error` 之后是否有立即执行的 UI 操作?— 必须放在 `onOk` 回调中。教训:两个 Modal 同时弹出互相遮挡
### 状态管理
- [ ] React Query 的 queryKey 是否正确包含所有依赖参数?— 缺少导致缓存错误
- [ ] 列表页分页是否正确重置 page— 教训:筛选条件变更后 page 未重置导致空页
### 类型安全
- [ ] 是否有 `any` 类型?— 应使用具体类型
- [ ] API 响应是否有 TypeScript 接口定义?
## 通用
- [ ] `.env` <20><>凭据文件是否被意外加入 git
- [ ] 是否有硬编码的 URL/IP/端口?— 应使用配置
- [ ] 错误日志是否包含足够的上下文信息user_id, tenant_id, request_id