用途
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。
- 其余未在资料中提及的功能、收费、价格、平台或效果,暂未提供。