💻 Développement

nestjs-guide

Développement backend NestJS avec modules, controllers, providers, pipes, guards et interceptors.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- nestjs-guide --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } nestjs-guide -Launch"

🚀 Déjà installé ?

claude "/nestjs-guide"

Ou tapez /nestjs-guide dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

NestJSNest.jsmodule NestJScontroller NestJSdecorator NestJS

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/dev-skills/nestjs-guide ~/.claude/skills/

Source : dev-skills/nestjs-guide

📖 Manuel

Guide NestJS

Workflow

  1. Analyser le besoin — Identifier le type de backend (API REST, GraphQL, microservices, WebSocket) et définir l'architecture modulaire : découpage en feature modules, choix de l'ORM (TypeORM, Prisma, MikroORM), et stratégie d'authentification.
  1. Structurer le projet — Organiser en modules NestJS avec la CLI (nest g module/controller/service). Chaque feature module contient ses controllers, services, DTOs, entities et guards. Configurer le CoreModule pour les services transversaux et le SharedModule pour les éléments réutilisables.
  1. Implémenter les controllers — Créer les controllers avec les décorateurs de route (@Get, @Post, @Put, @Delete), typer les paramètres avec @Param, @Query, @Body, configurer les interceptors de sérialisation, et documenter avec @ApiTags et @ApiOperation pour Swagger.
  1. Développer les providers et services — Créer les services injectables avec @Injectable(), implémenter le repository pattern pour l'accès aux données, utiliser les custom providers (useFactory, useValue, useClass) pour la configuration dynamique et les connexions externes.
  1. Configurer les pipes et la validation — Utiliser ValidationPipe global avec class-validator et class-transformer pour la validation automatique des DTOs. Créer des pipes custom pour les transformations spécifiques et activer whitelist et forbidNonWhitelisted.
  1. Implémenter les guards et l'authentification — Créer les guards avec @UseGuards() pour l'authentification JWT via Passport, les rôles avec @Roles() et un RolesGuard custom, et les permissions granulaires avec CASL ou un système custom.
  1. Gérer les interceptors et middleware — Développer des interceptors pour le logging, la transformation de réponse, le cache et la gestion des timeouts. Configurer les middleware pour le rate limiting, la compression, les CORS et les headers de sécurité avec Helmet.
  1. Tester et déployer — Écrire des tests unitaires avec Jest et le TestingModule, des tests e2e avec Supertest, mocker les dépendances avec createMock(). Configurer le déploiement Docker avec health checks et graceful shutdown.

Règles