关于 generic-fullstack-code-reviewer
面向 Next.js/NestJS 全栈项目的代码审查技能,提供针对后端、前端及跨栈一致性的检查项。它强调阅读代码差异进行提交前验证,并延伸通用代码审查方法。
主要功能
- 01检查 NestJS 身份验证与授权
- 02核对 DTO 输入验证
- 03审查 Prisma 数据库使用
- 04检查 Next.js 组件与 API 路由
- 05核对前后端类型和 API 契约
- 06检查环境变量与迁移
适用场景
- 01提交前审查 Next.js 与 NestJS 代码
- 02检查受保护路由的鉴权和输入验证
- 03核对前后端请求响应类型
- 04审阅 Prisma 架构变更
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ travisjneuman/ .claude --skill generic-fullstack-code-reviewer安装后在 Claude Code 中输入/generic-fullstack-code-reviewer确认已加载。
详细介绍
全栈代码审查员
根据生产质量标准审查 Next.js/NestJS 代码。
扩展自:通用代码审查员——阅读基础技能,了解完整代码审查方法、P0/P1/P2 优先级体系和判断标准。
提交前验证
通过阅读差异进行验证,而不是依次运行测试、Lint 和构建;以下内容是需要检查的要点。
全栈专属检查项
后端(NestJS)
身份验证与授权:
// Protected routes MUST have auth guard
@UseGuards(JwtAuthGuard)
@Get('profile')
getProfile(@CurrentUser() user: User) {
return this.userService.findById(user.id);
}
输入验证(DTO):
// All inputs validated via class-validator
export class CreateUserDto {
@IsEmail()
email: string;
@IsString()
@MinLength(8)
password: string;
}
数据库安全:
// Use Prisma, never raw SQL
// ✓ Good
await this.prisma.user.findUnique({ where: { id } });
// ✗ Bad
await this.prisma.$queryRaw`SELECT * FROM users WHERE id = ${id}`;
前端(Next.js)
服务端组件与客户端组件:
// Default: Server Component (can fetch data, no hooks)
export default async function Page() {
const data = await getData();
return <div>{data}</div>;
}
// Client: Interactive (hooks, event handlers)
'use client';
export default function Interactive() {
const [state, setState] = useState();
return <button onClick={() => setState(...)}>Click</button>;
}
API 路由模式:
// app/api/[route]/route.ts
export async function POST(request: Request) {
const body = await request.json();
// Validate body before processing
return NextResponse.json({ success: true });
}
跨栈一致性
共享类型:
// types/api.ts - Shared between frontend/backend
interface UserResponse {
id: string;
email: string;
createdAt: string;
}
API 契约:
- 请求 DTO 与前端负载相匹配
- 响应类型符合前端预期
- 错误格式一致(状态、消息、errors[])
环境与密钥
# .env (never committed)
DATABASE_URL=postgres://...
JWT_SECRET=...
# Check .env.example exists with placeholder values
# Verify .gitignore includes .env
Prisma 检查
# After schema changes
npx prisma migrate dev --name description
npx prisma generate
- 迁移可逆
- 模式变更后重新生成类型
- 正确定义关系
测试模式(用户要求编写测试时)
后端:
- 为服务编写单元测试
- 为 API 端点编写端到端测试
- 在测试中模拟数据库
前端:
- 为交互功能编写组件测试
- 在集成测试中模拟 API
全栈快速检查清单
- 受保护的路由上有身份验证守卫
- DTO 会验证所有输入
- 不使用原始 SQL 查询
- 共享类型相匹配
- 未提交 .env
- Prisma 类型为最新版本
另请参阅
评论
支持 Markdown