SuperAPI AI 工具集

generic-fullstack-code-reviewer

编程与开发

查看项目

更新于 10-16 10:37

技能介绍

用途

Fullstack Code Reviewer 是一个代码审查技能,用于按照生产质量标准审查 Next.js / NestJS 代码。它适用的时机包括:完成功能开发后、提交代码前,或审查 Pull Request 时。审查目标涵盖 Bug、安全漏洞、性能问题、无障碍(accessibility)缺口,以及对 CLAUDE.md 约定的遵守情况。

该技能扩展自 Generic Code Reviewer,需要先阅读基础技能以了解完整的代码审查方法论、P0/P1/P2 优先级体系和判断标准。

主要能力

提交前校验方式

该技能通过阅读 diff 来校验代码,而不是运行测试/ lint /构建的逐级流水线;其列出的检查项即为需要人工关注的内容。

后端检查(NestJS)

  • 认证与授权:受保护路由必须带有认证守卫,例如 @UseGuards(JwtAuthGuard)。
  • 输入校验(DTO):所有输入通过 class-validator 校验,例如使用 @IsEmail()、@IsString()、@MinLength(8) 等装饰器。
  • 数据库安全:使用 Prisma,而不要使用原始 SQL。示例中给出的推荐写法是 await this.prisma.user.findUnique({ where: { id } }),不推荐 await this.prisma.$queryRaw\SELECT * FROM users WHERE id = ${id}``。

前端检查(Next.js)

  • 服务端组件与客户端组件的区分:默认使用服务端组件(可获取数据、不使用 hooks);需要交互(hooks、事件处理器)时使用 'use client' 客户端组件。
  • API 路由模式:在 app/api/[route]/route.ts 中处理请求,例如 POST 中先解析 body,并在处理前进行校验,再返回 NextResponse.json(...)。

跨栈一致性

  • 共享类型:前后端共用的类型定义,例如 types/api.ts 中的 UserResponse 接口。
  • API 契约:请求 DTO 与前端负载匹配,响应类型与前端期望匹配,错误格式保持一致(status、message、errors[])。

环境与密钥

  • .env 不应提交到版本库,其中包含 DATABASE_URL、JWT_SECRET 等。
  • 检查 .env.example 是否存在并带有占位值,确认 .gitignore 包含 .env。

Prisma 检查

在 schema 变更后运行 npx prisma migrate dev --name description 和 npx prisma generate。检查项包括:迁移可回滚、schema 变更后类型已重新生成、关系定义正确。

测试模式(当用户要求测试时)

  • 后端:服务的单元测试、API 端点的 E2E 测试、测试中使用模拟数据库。
  • 前端:交互性的组件测试、集成测试的 API 模拟。

使用方式

该技能本身是一个审查清单与检查规范。使用时,在完成功能、提交前或审查 PR 的场景下调用它,依据其列出的检查项逐条核对代码 diff。它不会自动运行测试或构建,而是指导审查者关注上述要点。

快速全栈检查清单

  • [ ] 受保护路由已加认证守卫
  • [ ] DTO 校验所有输入
  • [ ] 无原始 SQL 查询
  • [ ] 共享类型一致
  • [ ] .env 未被提交
  • [ ] Prisma 类型为最新

适用场景

适用于使用 Next.js 与 NestJS 构建的全栈项目,在功能完成、提交代码前或审查 Pull Request 时进行代码质量把关。尤其关注 TypeScript 严格模式、输入校验、GPU 加速动画与设计系统一致性。

限制

  • 该技能依赖先阅读 Generic Code Reviewer 基础技能,才能获得完整的代码审查方法论。介绍中提到的部分引用文档(如 _shared/CODE_REVIEW_STANDARDS.md、_shared/DESIGN_PATTERNS.md)在本资料中未展开其内容。
  • 关于 TypeScript 严格模式、GPU 加速动画、设计系统一致性、无障碍缺口的具体检查细则,资料中未提供详细展开。
  • 不通过运行测试/ lint /构建来校验,校验方式基于阅读 diff。
  • 其余未在资料中提及的功能、收费、价格、平台或效果,暂未提供。