AgentSkillsCN

Nestjs Helper

NestJS 辅助工具

SKILL.md

NestJS Helper

A skill for accelerating NestJS development following traceability-backend conventions.

Related Skills

This skill provides general NestJS guidance. For specific patterns, use:

  • traceability-patterns - Main project conventions and structure
  • auth-guard-patterns - Authentication and authorization patterns
  • prisma-patterns - Database operations with Prisma
  • dto-validation - DTO creation and validation

Quick Module Generation

When creating a new feature module, generate:

code
feature/
├── feature.controller.ts
├── feature.service.ts
├── feature.module.ts
└── dto/
    ├── create-feature.dto.ts
    ├── update-feature.dto.ts
    ├── feature-response.dto.ts
    └── index.ts

Core Conventions

Structure

  • App code: apps/backend/src/
  • Shared libs: libs/[lib-name]/src/
  • Path aliases: @app/[lib-name]
  • Common code: apps/backend/src/common/

Fastify Adapter

typescript
import { FastifyAdapter } from '@nestjs/platform-fastify';

const adapter = new FastifyAdapter();
await adapter.register(require('@fastify/multipart'), {
  attachFieldsToBody: false,
  limits: { fileSize: 20 * 1024 * 1024, files: 1 }
});

Global Validation

typescript
import { ValidationPipe } from '@nestjs/common';
import { useContainer } from 'class-validator';

app.useGlobalPipes(new ValidationPipe({ transform: true }));
useContainer(app.select(AppModule), { fallbackOnErrors: true });

Versioning & Documentation

typescript
@Version('1')
@ApiTags('Feature')
@ApiOperation({ summary: 'Description' })
@ApiResponse({ status: 200, type: ResponseDto })

Common Tasks

Generate a CRUD module

"Create a [feature] module with CRUD operations using Prisma"

Add authentication

"Add JWT authentication to [feature] module"

Create DTOs

"Create DTOs for [feature] with validation"

Add guards

"Add role-based access control to [feature]"

Library Aliases

typescript
// Auth utilities
import { AuthUser, JwtPayloadDto, Roles, RolesGuard } from '@app/auth-utilities';

// Logging
import { LogActivity } from '@app/app-logger';

// Caching
import { Cache } from '@nestjs/cache-manager';

// Health
import { HealthCheckService } from '@app/health';

Commands

bash
# Generate module
nest g module feature --project backend

# Generate controller
nest g controller feature --project backend

# Generate service
nest g service feature --project backend