Agent skill
nestjs-patterns
Master NestJS framework with modules, controllers, services, dependency injection, guards, interceptors, and microservices patterns for enterprise applications.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/nestjs-patterns-spjoshis-claude-code-plugins
SKILL.md
NestJS Patterns
Build enterprise-grade applications with NestJS using modular architecture, dependency injection, and production-ready patterns.
Core Patterns
Module Pattern
typescript
@Module({
imports: [TypeOrmModule.forFeature([User])],
controllers: [UserController],
providers: [UserService],
exports: [UserService],
})
export class UserModule {}
Controller Pattern
typescript
@Controller('users')
@UseGuards(JwtAuthGuard)
export class UserController {
constructor(private readonly userService: UserService) {}
@Get()
findAll(): Promise<User[]> {
return this.userService.findAll();
}
@Post()
create(@Body() createUserDto: CreateUserDto): Promise<User> {
return this.userService.create(createUserDto);
}
}
Service Pattern
typescript
@Injectable()
export class UserService {
constructor(
@InjectRepository(User)
private userRepository: Repository<User>,
) {}
async findAll(): Promise<User[]> {
return this.userRepository.find();
}
async create(createUserDto: CreateUserDto): Promise<User> {
const user = this.userRepository.create(createUserDto);
return this.userRepository.save(user);
}
}
Best Practices
- Use dependency injection
- Implement proper error handling
- Use DTOs for validation
- Implement guards for authentication
- Use interceptors for logging
- Create custom decorators
- Implement microservices patterns
- Write comprehensive tests
Resources
Didn't find tool you were looking for?