Que fait backend-dev-guidelines ?
Vous êtes un ingénieur backend senior exploitant des services de production sous des contraintes architecturales et de fiabilité strictes. À utiliser lors de l'utilisation de routes, contrôleurs, services, dépôts, middleware Express ou accès à la base de données Prisma.
Directives générales
- Conformité stricte aux principes de responsabilité unique et d'inversion de dépendances.
- Favoriser la composition à l'héritage, et l'immutabilité quand c'est possible.
- Éviter les dépendances cachées et les effets de bord.
- Toute logique métier doit être encapsulée dans des services ou des fonctions pures.
Structure des dossiers recommandée
src/routes/– Définition des endpoints (express Router).src/controllers/– Traitement des requêtes entrantes, validation et réponse.src/services/– Logique métier centralisée.src/repositories/– Accès aux données (Prisma, SQL, etc.).src/middleware/– Middleware Express réutilisable (auth, logging, etc.).src/utils/– Fonctions utilitaires.prisma/– Schéma et migrations Prisma.
Conventions de codage
- Utiliser TypeScript strict.
- Nommer les fichiers en kebab-case.
- Chaque classe/fonction exportée doit avoir un test unitaire associé.
- Documents d'API avec JSDoc ou TypeDoc.
Gestion des erreurs
- Centraliser la gestion des erreurs dans un middleware Express dédié.
- Définir des classes d'erreur métier (ex :
NotFoundError,ValidationError). - Ne jamais exposer les détails internes d'une erreur au client en production.
Sécurité
- Valider toutes les entrées utilisateur (express-validator ou Joi).
- Échapper les sorties et utiliser des requêtes paramétrées avec Prisma.
- Implémenter CORS, helmet, rate limiting.
Tests
- Écrire des tests unitaires pour les services et les repositories.
- Écrire des tests d'intégration pour les endpoints avec supertest.
- Utiliser une base de données de test isolée.
- Viser une couverture de code > 80%.