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

1.9 KiB
Raw Blame History

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