← ClaudeAtlas

nestjslisted

Use when building NestJS services. Covers module structure, providers and scopes, validation pipes, guards and interceptors, TypeORM/Prisma integration, and testing.
nimadorostkar/Claude-Skills-collection · ★ 27 · API & Backend · score 80
Install: claude install-skill nimadorostkar/Claude-Skills-collection
# NestJS ## Purpose Build NestJS applications where the module graph reflects the domain, validation happens at the edge, and cross-cutting concerns live in guards and interceptors rather than being copied into every controller. ## When to Use - Building or reviewing a NestJS service. - Structuring modules, providers, and their scopes. - Implementing authentication, authorization, and request validation. - Writing unit and end-to-end tests for a Nest application. ## Capabilities - Module and provider design, including dynamic modules. - Validation with `class-validator` and the global `ValidationPipe`. - Guards (authorization), interceptors (cross-cutting), filters (error mapping). - Data access with Prisma or TypeORM, correctly scoped. - Testing with the Nest testing module and Supertest. ## Inputs - The domain boundaries the modules should follow. - The authentication scheme and the authorization model. - The persistence layer. ## Outputs - Modules that encapsulate a domain and export only their public services. - A global validation pipe with whitelisting enabled. - Controllers that are thin, and services that contain the logic. ## Workflow 1. **Model the modules on the domain** — One module per bounded capability, exporting the services other modules may use. A module that exports everything is not a boundary. 2. **Enable strict validation globally** — `whitelist: true` and `forbidNonWhitelisted: true`. Without these, a client can send extra fields and your DT