@outis25/nestgen v0.0.7
NestGen
  
  
  
  
  
đ Table des matiĂšres
- Introduction
 - Fonctionnalités
 - Installation
 - Guide d'utilisation
 - Architecture générée
 - Roadmap
 - FAQ
 - Contribuer
 - Licence
 
đ Introduction
NestGen est un générateur de code 100% autonome pour NestJS qui vous permet de créer rapidement des projets et des modules respectant les principes d'architecture avancés. Ce package n'a aucune dépendance externe et embarque tous les templates nécessaires pour générer des applications NestJS suivant les modÚles Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS) et l'architecture hexagonale.
Idéal pour les développeurs qui souhaitent maintenir une architecture propre et évolutive, NestGen accélÚre la phase de setup et garantit la cohérence structurelle de votre application, le tout sans nécessiter d'installation ou de configuration supplémentaire.
⚠Fonctionnalités
- 100% autonome - Aucune dépendance externe, tout est intégré
 - Zéro configuration - Fonctionne immédiatement aprÚs installation
 - GĂ©nĂ©ration complĂšte - Projets et modules prĂȘts Ă l'emploi en quelques secondes
 - Architecture avancée - Support intégré pour DDD, CQRS et architecture hexagonale
 - Templates embarqués - Tous les templates sont inclus dans le package
 - Support multiple d'ORM - TypeORM et Prisma intégrés nativement
 - DevOps ready - Configurations Docker, Swagger et CI/CD incluses
 - Mode interactif - Interface CLI intuitive avec prompts pour une configuration guidée
 
đŠ Installation
npm install -g @outis25/nestgenC'est tout! Aucune configuration supplémentaire n'est nécessaire. Tous les templates et dépendances sont embarqués dans le package.
đ§ Guide d'utilisation
Initialiser un nouveau projet
nestgen initCette commande lance un assistant interactif qui vous guidera à travers les étapes de configuration :
- Nom du projet
 - Répertoire d'installation
 - Sélection de l'ORM (TypeORM ou Prisma)
 - Modules à générer automatiquement
 - Options additionnelles (Git, Swagger, Docker, etc.)
 
Générer un nouveau module
nestgen module <nom-du-module> [options]Options disponibles :
--orm=<typeorm|prisma>- Spécifie l'ORM à utiliser pour ce module--crud- GénÚre les opérations CRUD de base--path=<chemin>- Définit un chemin personnalisé pour le module
Exemples :
nestgen module user --orm=typeorm
nestgen module transaction --orm=prisma --crudVérifier l'installation
nestgen doctorCette commande vérifie que :
- Le package est correctement installé
 - Tous les templates embarqués sont disponibles
 - Aucune dépendance n'est manquante
 
đ Architecture gĂ©nĂ©rĂ©e
NestGen génÚre une structure de projet suivant les meilleures pratiques d'architecture :
src/app/<module>/
âââ core/                   # CĆur du domaine mĂ©tier
â   âââ application/        # Cas d'utilisation
â   â   âââ commands/       # Commandes CQRS
â   â   âââ events/         # ĂvĂ©nements domaine
â   â   âââ queries/        # RequĂȘtes CQRS
â   âââ domain/             # ModĂšle du domaine
â       âââ entities/       # EntitĂ©s mĂ©tier
â       âââ ports/          # Interfaces pour l'hexagonal
âââ infrastructure/         # ImplĂ©mentations techniques
â   âââ adapters/           # Adaptateurs pour l'hexagonal
â   âââ persistences/       # Couche de persistance
â       âââ repositories/   # ImplĂ©mentations des repos
âââ interfaces/             # Points d'entrĂ©e de l'app
    âââ controllers/        # ContrĂŽleurs REST
    âââ dtos/               # Objets de transfertCette structure facilite :
- La séparation des préoccupations
 - Les tests unitaires et d'intégration
 - L'évolutivité du code
 - Le remplacement des composants techniques
 
đź Roadmap
- â GĂ©nĂ©ration de projet complet
 - â GĂ©nĂ©ration de module modulaire (DDD, CQRS, Repo)
 - â Support Prisma et TypeORM
 - â Mode interactif
 - â Docker, Swagger, Git
 - â Templates intĂ©grĂ©s
 - â Package 100% autonome
 - ⏠
nestgen resource <name>(CRUD complet) - ⏠
nestgen destroy module <name> - ⏠
nestgen preset ecommerce(Templates d'applications) - ⏠
nestgen --interactive(menu CLI avancé) - ⏠Support pour MongoDB et Mongoose
 - ⏠Génération de tests unitaires et d'intégration
 
â FAQ
Q: NestGen nécessite-t-il des dépendances externes ?
R: Non, NestGen est 100% autonome. Tous les templates et outils nécessaires sont embarqués dans le package.
Q: Puis-je utiliser NestGen avec un projet NestJS existant ?
R: Oui, vous pouvez ajouter des modules générés par NestGen à un projet existant. La structure générée s'intÚgre parfaitement aux projets NestJS standards.
Q: Comment puis-je personnaliser les templates générés ?
R: Par défaut, NestGen utilise ses templates intégrés. Leurs structures sont optimisées pour les meilleures pratiques et ne nécessitent généralement pas de modifications.
Q: NestGen supporte-t-il les microservices ?
R: Pas encore nativement, mais c'est prévu dans les prochaines versions. En attendant, vous pouvez adapter manuellement la structure générée.
đ„ Contribuer
Les contributions sont les bienvenues ! Pour contribuer :
- Forkez le dépÎt
 - Créez une branche pour votre fonctionnalité (
git checkout -b feature/amazing-feature) - Commitez vos changements (
git commit -m 'feat: add amazing feature') - Poussez vers la branche (
git push origin feature/amazing-feature) - Ouvrez une Pull Request
 
đ Licence
NestGen est distribué sous licence MIT. Voir le fichier LICENSE pour plus d'informations.