nestcraftx 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/.gitattributes +6 -0
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +33 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
  4. package/.github/ISSUE_TEMPLATE/pull_request_template.md +24 -0
  5. package/CHANGELOG.fr.md +97 -97
  6. package/CHANGELOG.md +98 -98
  7. package/CLI_USAGE.fr.md +331 -331
  8. package/CLI_USAGE.md +364 -364
  9. package/DEMO.fr.md +292 -292
  10. package/DEMO.md +294 -294
  11. package/LICENSE +21 -21
  12. package/MIGRATION_GUIDE.fr.md +127 -127
  13. package/MIGRATION_GUIDE.md +124 -124
  14. package/QUICK_START.fr.md +152 -152
  15. package/QUICK_START.md +169 -169
  16. package/README.fr.md +653 -659
  17. package/SECURITY.md +10 -0
  18. package/bin/nestcraft.js +84 -64
  19. package/commands/demo.js +333 -330
  20. package/commands/generate.js +93 -0
  21. package/commands/generateConf.js +91 -0
  22. package/commands/help.js +78 -78
  23. package/commands/info.js +48 -48
  24. package/commands/new.js +338 -335
  25. package/commands/start.js +19 -19
  26. package/commands/test.js +7 -7
  27. package/package.json +41 -41
  28. package/readme.md +638 -643
  29. package/utils/cliParser.js +133 -76
  30. package/utils/colors.js +62 -62
  31. package/utils/configs/configureDocker.js +120 -120
  32. package/utils/configs/setupCleanArchitecture.js +563 -557
  33. package/utils/configs/setupLightArchitecture.js +701 -660
  34. package/utils/envGenerator.js +122 -122
  35. package/utils/file-utils/packageJsonUtils.js +49 -55
  36. package/utils/file-utils/saveProjectConfig.js +36 -0
  37. package/utils/fullModeInput.js +607 -607
  38. package/utils/generators/application/dtoUpdater.js +54 -0
  39. package/utils/generators/cleanModuleGenerator.js +475 -0
  40. package/utils/generators/database/setupDatabase.js +31 -0
  41. package/utils/generators/domain/entityUpdater.js +78 -0
  42. package/utils/generators/infrastructure/mapperUpdater.js +65 -0
  43. package/utils/generators/lightModuleGenerator.js +131 -0
  44. package/utils/generators/relation/relation.engine.js +64 -0
  45. package/utils/interactive/askEntityInputs.js +165 -0
  46. package/utils/lightModeInput.js +460 -460
  47. package/utils/loggers/logError.js +7 -7
  48. package/utils/loggers/logInfo.js +7 -7
  49. package/utils/loggers/logSuccess.js +7 -7
  50. package/utils/loggers/logWarning.js +7 -7
  51. package/utils/setups/orms/typeOrmSetup.js +630 -630
  52. package/utils/setups/projectSetup.js +46 -46
  53. package/utils/setups/setupAuth.js +973 -926
  54. package/utils/setups/setupDatabase.js +75 -75
  55. package/utils/setups/setupLogger.js +69 -59
  56. package/utils/setups/setupMongoose.js +377 -432
  57. package/utils/setups/setupPrisma.js +802 -630
  58. package/utils/setups/setupSwagger.js +97 -88
  59. package/utils/shell.js +32 -32
  60. package/utils/spinner.js +57 -57
  61. package/utils/systemCheck.js +124 -124
  62. package/utils/userInput.js +421 -421
  63. package/utils/utils.js +2197 -1762
package/README.fr.md CHANGED
@@ -1,659 +1,653 @@
1
- ## NestCraftX — Clean Architecture Generator for NestJS
2
-
3
- demo
4
- ![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)
5
- ![Node.js](https://img.shields.io/badge/node-%3E=14.0.0-green.svg)
6
- ![Version](https://img.shields.io/badge/version-0.2.4-brightgreen.svg)
7
-
8
- **NestCraftX** est un CLI Node.js moderne et puissant pour generer automatiquement des projets NestJS et leur contenu avec une architecture propre, maintenable et prête pour la production.
9
-
10
- Il échafaude tout ce dont vous avez besoin pour commencer :
11
-
12
- - Modules, Contrôleurs & Services (Entièrement typés)
13
-
14
- - Repositories & Mappers (Pour un flux de données propre)
15
-
16
- - DTOs (Prêts pour la validation)
17
-
18
- - Entités / Schémas (Prisma, TypeORM, ou Mongoose)
19
-
20
- - Authentification (JWT avec Refresh Tokens & secrets auto-générés)
21
-
22
- - Prêt pour le DevOps (Docker, Docker-Compose & Swagger UI)
23
-
24
- Il implemente les meilleures pratiques modernes : **Clean Architecture**, **Domain-Driven Design (DDD)**, **Prisma/TypeORM/Mongoose**, **JWT Auth avec secrets auto-generes**, **Swagger**, **Docker**, et plus encore.
25
-
26
- Fonctionnalités Clés :
27
-
28
- - **Dual-Architecture** : Choisissez entre une structure Light (idéale pour les MVP) ou Full (basée sur la Clean Architecture / DDD).
29
-
30
- - **Relations Interactives** : Définissez vos relations 1-N ou N-N directement dans le terminal via un prompt interactif.
31
-
32
- - **Configuration Intelligente** : Décorateurs Swagger automatisés, fichiers Docker initialisés, fichiers .env auto-documentés et connexions aux bases de données pré-configurées.
33
-
34
- > Version 0.2.4 : Amélioration majeure - Démo interactif avec flags, Authentification integré, templates professionnels (gitignore, README), code propre et maintenir par la communauté !
35
-
36
- ---
37
-
38
- ## Sommaire
39
-
40
- - [Nouveautes v0.2.4](#nouveautes-v023)
41
- - [Objectif du projet](#objectif-du-projet)
42
- - [Prérequis](#prérequis)
43
- - [Installation](#installation)
44
- - [Commandes disponibles](#commandes-disponibles)
45
- - [Fonctionnalités](#fonctionnalités)
46
- - [Architecture générée](#architecture-générée)
47
- - [Démo complète](#démo-complète)
48
- - [Guide d'utilisation](#guide-dutilisation)
49
- - [Roadmap](#roadmap)
50
- - [Contribuer](#contribuer)
51
- - [Licence](#licence)
52
-
53
- ---
54
-
55
- ## Nouveautes v0.2.4
56
-
57
- ### Deux Modes d'Architecture
58
-
59
- **Mode FULL - Architecture Complete**
60
-
61
- - Clean Architecture avec use-cases, mappers, adapters
62
- - Separation stricte domain/application/infrastructure/presentation
63
- - Ideal pour projets complexes et scalables
64
-
65
- **Mode LIGHT - Architecture MVP**
66
-
67
- - Structure simplifiee : controllers services → repositories
68
- - Demarrage rapide pour prototypes
69
- - Parfait pour petits projets et MVPs
70
-
71
- ### Demo Command Amélioré
72
-
73
- - ✅ Options par flags : `--light`, `--orm`, `--auth`, `--swagger`, `--docker`
74
- - ✅ Mode interactif : pose les questions uniquement si flags manquants
75
- - ✅ Fusion intelligente flags + réponses interactives
76
- - ✅ 3 entités pré-configurées avec relations
77
- - ✅ Support de tous les ORMs (Prisma, TypeORM, Mongoose)
78
- - Instructions séparées dans [Documentation Demo](./DEMO.md)
79
-
80
- ### CLI Moderne avec Flags
81
-
82
- ```bash
83
- nestcraftx new <project-name> [options]
84
-
85
- Options:
86
- --light Mode architecture simplifiee
87
- --full Mode architecture complete (defaut)
88
- --dn=<db> Choix db: postgresql|mongodb
89
- --orm=<orm> Choix ORM: prisma|typeorm|mongoose
90
- --auth Active authentification JWT
91
- --swagger Active documentation Swagger
92
- --docker Active Docker (defaut: true)
93
- ```
94
-
95
- ### Generation Automatique de Secrets
96
-
97
- - Secrets JWT auto-generes (64 caracteres securises)
98
- - Fichier .env pret a l'emploi
99
- - DATABASE_URL configure automatiquement
100
- - Fichier .env.example sanitise
101
-
102
- ### UX Amelioree
103
-
104
- - Messages avec couleurs (info, success, error)
105
- - Spinners animes pour operations longues
106
- - Resume detaille post-generation
107
- - Validation des options en temps reel
108
-
109
- ### Exemples Rapides
110
-
111
- ```bash
112
- # Projet LIGHT avec Prisma et Auth
113
- nestcraftx new mon-api --light --orm=prisma --auth
114
-
115
- # Projet FULL avec TypeORM et Swagger
116
- nestcraftx new mon-projet --full --orm=typeorm --swagger
117
-
118
- # Projet MongoDB minimal
119
- nestcraftx new mon-api --light --orm=mongoose
120
- ```
121
-
122
- ---
123
-
124
- ## Objectif du projet
125
-
126
- Ne perdez plus de temps à configurer votre architecture backend. NestCraftX vous permet de :
127
-
128
- - ✅ Démarrer un projet en quelques minutes au lieu de quelques jours
129
- - ✅ Avoir une architecture Clean dès le départ
130
- - ✅ Uniformiser vos projets avec les mêmes bonnes pratiques
131
- - ✅ Configuration automatiser de BD-ORM et autres modules (decorateur, authentification, dockerisation)
132
- - ✅ Vous concentrer sur la logique métier
133
- - ✅ Choisir entre configuration rapide (Light) ou complète (Full)
134
-
135
- ## Prérequis
136
-
137
- Assurez-vous d'avoir :
138
-
139
- - **Node.js** v14 ou supérieur
140
- - **npm** ou **yarn**
141
- - **Nest CLI** (optionnel, sera utilisé via npx)
142
- - **Docker** (optionnel, pour la containerisation)
143
- - **Git** (optionnel, pour la gestion de version)
144
-
145
- Vérifiez votre environnement avec :
146
-
147
- ```bash
148
- nestcraftx test
149
- ```
150
-
151
- ---
152
-
153
- ## Installation
154
-
155
- ### Via npx (recommandé)
156
-
157
- Utilisez NestCraftX sans installation globale :
158
-
159
- ```bash
160
- npx nestcraftx new my-app
161
- ```
162
-
163
- ### Installation globale
164
-
165
- Pour une utilisation fréquente :
166
-
167
- ```bash
168
- npm install -g nestcraftx
169
- nestcraftx new my-app
170
- ```
171
-
172
- ### Installation pour développement
173
-
174
- ```bash
175
- git clone https://github.com/august-dev-pro/NestCraftX.git
176
- cd NestCraftX
177
- npm install
178
- npm link
179
- ```
180
-
181
- ---
182
-
183
- ## Commandes disponibles
184
-
185
- ### `nestcraftx new <project-name> [options]`
186
-
187
- Crée un nouveau projet NestJS avec Clean Architecture.
188
-
189
- **Options :**
190
-
191
- - `--light` : Mode configuration rapide
192
- - `--orm <prisma|typeorm|mongoose>` : Choix de l'ORM
193
- - `--auth` : Ajouter l'authentification JWT
194
- - `--swagger` : Ajouter Swagger UI
195
- - `--docker` : Générer les fichiers Docker
196
-
197
- **Exemples :**
198
-
199
- ```bash
200
- # Mode interactif complet
201
- nestcraftx new my-app
202
-
203
- # Mode rapide avec options
204
- nestcraftx new blog-api --light --orm=prisma --auth --swagger
205
-
206
- # Configuration personnalisée
207
- nestcraftx new shop --orm=typeorm --auth
208
- ```
209
-
210
- ### `nestcraftx demo [options]`
211
-
212
- Génère un projet de démonstration complet (blog-demo) avec :
213
-
214
- - 3 entités (User, Post, Comment) avec relations 1-n
215
- - Auth JWT intégrée
216
- - Swagger activé
217
- - Docker configuré
218
-
219
- **Options :**
220
-
221
- - `--light` : Mode architecture simplifiée
222
- - `--docker` : Activer Docker (défaut: true)
223
- - `--auth` : Activer Auth JWT (défaut: true)
224
- - `--swagger` : Activer Swagger (défaut: true)
225
- - `--orm <prisma|typeorm|mongoose>` : Choix de l'ORM (défaut: prisma)
226
-
227
- **Exemples :**
228
-
229
- ```bash
230
- # Mode interactif (posera les questions)
231
- nestcraftx demo
232
-
233
- # Mode LIGHT avec Mongoose
234
- nestcraftx demo --light --orm=mongoose
235
-
236
- # Mode FULL avec TypeORM
237
- nestcraftx demo --orm=typeorm --auth --swagger
238
-
239
- # Démarrer rapidement
240
- nestcraftx demo --light --orm=prisma
241
- ```
242
-
243
- **Résultat :**
244
-
245
- Un projet blog fonctionnel avec :
246
-
247
- - Blog-demo créé
248
- - 3 entités complètes
249
- - Relations entre User → Post → Comment
250
- - Endpoints auth, users, posts, comments prêts
251
- - Documentation Swagger interactive
252
-
253
- ### `nestcraftx test`
254
-
255
- Vérifie que votre environnement est prêt :
256
-
257
- ```bash
258
- nestcraftx test
259
- ```
260
-
261
- Affiche le statut de Node, npm, Nest CLI, Docker, Git, etc.
262
-
263
- ### `nestcraftx info`
264
-
265
- Affiche les informations sur le CLI :
266
-
267
- ```bash
268
- nestcraftx info
269
- ```
270
-
271
- ---
272
-
273
- ## Fonctionnalités
274
-
275
- ### Architecture
276
-
277
- ✅ **Clean Architecture** avec séparation domain/application/infrastructure/presentation
278
- ✅ **Domain-Driven Design** avec entités, use cases et repositories
279
- ✅ **Repository Pattern** pour l'abstraction de la persistance
280
- ✅ **Use Cases Pattern** pour la logique métier isolée
281
- **Mapper Pattern** pour la transformation des données
282
-
283
- ### Base de données
284
-
285
- ✅ **Prisma ➡️ (PostgreSQL)** - ORM moderne et type-safe (recommandé)
286
-
287
- ✅ **TypeORM ➡️ (PostgreSQL)** - ORM complet avec decorateurs
288
-
289
- **Mongoose ➡️ (MongoDB)** - ODM pour MongoDB (phase de test, peut generer des erreurs)
290
-
291
- Configuration automatique du schéma
292
-
293
- Support PostgreSQL et MongoDB
294
-
295
- ### Sécurité
296
-
297
- ✅ **JWT Authentication** avec guards et strategies
298
-
299
- ✅ **Role-based Access Control** (RBAC)
300
-
301
- ✅ **Password hashing** avec bcrypt
302
-
303
- **Public routes** avec decorators
304
-
305
- ### Documentation
306
-
307
- **Swagger UI** automatique
308
-
309
- Décorateurs ApiProperty sur les DTOs
310
-
311
- Documentation des endpoints
312
-
313
- Interface interactive d'API
314
-
315
- ### DevOps
316
-
317
- **Docker** et **Docker Compose**
318
-
319
- Configuration des variables d'environnement
320
-
321
- Logging structuré
322
-
323
- Error handling centralisé
324
-
325
- ### Qualité du code
326
-
327
- Validation des DTOs avec class-validator
328
-
329
- Transformation des données avec class-transformer
330
-
331
- Intercepteurs de réponse standardisés
332
-
333
- ✅ Filtres d'exceptions globaux
334
-
335
- ---
336
-
337
- ## Generated Architecture
338
-
339
- ### Mode Light (MVP)
340
-
341
- ```
342
- src
343
- ├── auth
344
- │ ├── controllers
345
- │ │ └── auth.controller.ts
346
- │ ├── dtos
347
- │ │ ├── create-session.dto.ts
348
- │ │ ├── forgotPassword.dto.ts
349
- │ │ ├── loginCredential.dto.ts
350
- │ │ ├── refreshToken.dto.ts
351
- │ │ ├── resetPassword.dto.ts
352
- ├── sendOtp.dto.ts
353
- │ │ └── verifyOtp.dto.ts
354
- │ ├── entities
355
- │ │ └── session.entity.ts
356
- ├── guards
357
- ├── jwt-auth.guard.ts
358
- │ │ └── role.guard.ts
359
- │ ├── mappers
360
- │ │ └── session.mapper.ts
361
- │ ├── persistence
362
- │ │ └── session.repository.ts
363
- ├── services
364
- ├── auth.service.ts
365
- │ │ └── session.service.ts
366
- ├── strategies
367
- │ └── jwt.strategy.ts
368
- │ └── auth.module.ts
369
-
370
- ├── common
371
- │ ├── decorators
372
- │ │ ├── current-user.decorator.ts
373
- ├── public.decorator.ts
374
- │ │ └── role.decorator.ts
375
- │ ├── enums
376
- │ │ └── role.enum.ts
377
- │ ├── filters
378
- │ │ └── all-exceptions.filter.ts
379
- ├── interceptors
380
- └── response.interceptor.ts
381
- └── middlewares
382
- │ └── logger.middleware.ts
383
-
384
- ├── prisma
385
- ├── prisma.module.ts
386
- │ └── prisma.service.ts
387
-
388
- ├── user
389
- │ ├── controllers
390
- │ │ └── user.controller.ts
391
- │ ├── dtos
392
- │ │ └── user.dto.ts
393
- │ ├── entities
394
- │ │ └── user.entity.ts
395
- │ ├── repositories
396
- │ │ └── user.repository.ts
397
- ├── services
398
- │ └── user.service.ts
399
- │ └── user.module.ts
400
-
401
- ├── app.controller.spec.ts
402
- ├── app.controller.ts
403
- ├── app.module.ts
404
- ├── app.service.ts
405
- └── main.ts
406
- ```
407
-
408
- ### Mode Full (Clean Architecture)
409
-
410
- ```
411
- src
412
- ├── auth
413
- │ ├── application
414
- │ │ ├── dtos
415
- │ │ │ ├── create-session.dto.ts
416
- │ │ │ ├── forgotPassword.dto.ts
417
- │ │ │ ├── loginCredential.dto.ts
418
- │ │ │ ├── refreshToken.dto.ts
419
- │ │ │ ├── resetPassword.dto.ts
420
- │ │ │ ├── sendOtp.dto.ts
421
- │ │ │ └── verifyOtp.dto.ts
422
- │ │ └── services
423
- ├── auth.service.ts
424
- │ │ └── session.service.ts
425
- ├── domain
426
- │ │ ├── entities
427
- │ │└── session.entity.ts
428
- │ └── interfaces
429
- │ │ └── session.repository.interface.ts
430
- │ ├── infrastructure
431
- │ │ ├── guards
432
- │ │ ├── jwt-auth.guard.ts
433
- │ │ │ └── role.guard.ts
434
- │ │ ├── mappers
435
- │ │ │ └── session.mapper.ts
436
- │ │ ├── persistence
437
- │ │└── session.repository.ts
438
- │ └── strategies
439
- │ │ └── jwt.strategy.ts
440
- ├── presentation
441
- └── controllers
442
- │ └── auth.controller.ts
443
- │ └── auth.module.ts
444
-
445
- ├── common
446
- │ ├── decorators
447
- │ │ ├── current-user.decorator.ts
448
- ├── public.decorator.ts
449
- │ │ └── role.decorator.ts
450
- │ ├── filters
451
- │ │ └── all-exceptions.filter.ts
452
- ├── interceptors
453
- └── response.interceptor.ts
454
- └── middlewares
455
- │ └── logger.middleware.ts
456
-
457
- ├── prisma
458
- ├── prisma.module.ts
459
- │ └── prisma.service.ts
460
-
461
- ├── user
462
- ├── application
463
- │ │ ├── dtos
464
- │ │ │ └── user.dto.ts
465
- │ │ ├── services
466
- │ │ │ └── user.service.ts
467
- │ │ └── use-cases
468
- │ │ ├── create-user.use-case.ts
469
- │ │ ├── delete-user.use-case.ts
470
- │ │ ├── getAll-user.use-case.ts
471
- ├── getById-user.use-case.ts
472
- │ │ └── update-user.use-case.ts
473
- ├── domain
474
- │ │ ├── entities
475
- │ │ │ └── user.entity.ts
476
- │ │ ├── enums
477
- │ │└── role.enum.ts
478
- │ └── interfaces
479
- │ │ └── user.repository.interface.ts
480
- ├── infrastructure
481
- │ │ ├── adapters
482
- │ │ │ └── user.adapter.ts
483
- │ │ ├── mappers
484
- │ │└── user.mapper.ts
485
- │ └── repositories
486
- │ │ └── user.repository.ts
487
- ├── presentation
488
- └── controllers
489
- │ └── user.controller.ts
490
- │ └── user.module.ts
491
-
492
- ├── app.controller.spec.ts
493
- ├── app.controller.ts
494
- ├── app.module.ts
495
- ├── app.service.ts
496
- └── main.ts
497
- ```
498
-
499
- ## Démo complète
500
-
501
- 🔥 Une démo prête à exécuter, incluant 3 entités liées, Auth JWT, Swagger, Docker et ORM configurable.
502
-
503
- 👉 Voir la documentation complète : [Documentation Demo](./DEMO.md)
504
-
505
- ## Guide d'utilisation
506
-
507
- ### Démarrage rapide (Mode Light)
508
-
509
- ```bash
510
- # 1. Créer un projet simple
511
- npx nestcraftx new my-api --light --orm prisma
512
-
513
- # 2. Naviguer dans le projet
514
- cd my-api
515
-
516
- # 3. Démarrer l'application
517
- npm run start:dev
518
- ```
519
-
520
- ### Configuration complète (Mode Full)
521
-
522
- ```bash
523
- # 1. Lancer la création avec interface interactive
524
- npx nestcraftx new my-project
525
-
526
- # 2. Répondre aux questions :
527
- # - Nom du projet
528
- # - Choix de la base de données
529
- # - Configuration ORM
530
- # - Entités et relations
531
- # - Auth et Swagger
532
-
533
- # 3. Démarrer
534
- cd my-project
535
- npm run start:dev
536
- ```
537
-
538
- ### Projet de démonstration
539
-
540
- ```bash
541
- # Générer un projet blog complet (mode interactif)
542
- nestcraftx demo
543
-
544
- # Ou avec options directes
545
- nestcraftx demo --light --orm prisma --auth --swagger
546
-
547
- # Naviguer et démarrer
548
- cd blog-demo
549
- npm run start:dev
550
-
551
- # Accéder à Swagger UI
552
- open http://localhost:3000/api/docs
553
- ```
554
-
555
- **Qu'inclut le projet demo :**
556
-
557
- - Architecture Clean complète (ou LIGHT selon l'option)
558
- - 3 entités pré-configurées : User, Post, Comment
559
- - Relations entre entités (User → Post, Post ↔ Comment)
560
- - Auth JWT avec endpoints /auth/register et /auth/login
561
- - Endpoints métier : /users, /posts, /comments
562
- - Documentation Swagger automatique
563
- - Docker & Docker Compose configurés
564
- - Configuration ORM de votre choix (Prisma, TypeORM, Mongoose)
565
-
566
- ---
567
-
568
- ## Roadmap
569
-
570
- ### Version 0.2.x (Objectif Actuel)
571
-
572
- - [x] Moteurs d'architecture Light & Full.
573
-
574
- - [x] Prompts interactifs avec Inquirer.js.
575
-
576
- - [ ] Stabilité : Tests approfondis et stabilisation des intégrations Mongoose et TypeORM.
577
-
578
- ### Version 0.3.0 (Expansion)
579
-
580
- - [ ] Nouvelles bases de données : Support complet pour MySQL et SQLite.
581
-
582
- - [ ] Scaffolding : Commande `generate` pour ajouter des modules/entités à un projet existant.
583
-
584
- - [ ] Tests : Génération automatique des tests unitaires pour les services et contrôleurs.
585
-
586
- ### Version 0.5.0 (Fonctionnalités Avancées)
587
-
588
- - [ ] Intégration Redis : Choix de la gestion de session (Redis, Map (dev), ou registre DB).
589
- - [ ] CI/CD : Templates prêts à l'emploi pour GitHub Actions et GitLab CI.
590
- - [ ] Seeding : Génération avancée de scripts de "seeding" pour la base de données.
591
-
592
- ### Version 1.0.0
593
-
594
- - [ ] Microservices : Support pour les applications hybrides et les microservices.
595
- - [ ] Interface Web : Interface visuelle optionnelle pour configurer vos projets.
596
- - [ ] Communauté : Site de documentation officiel et système de plugins.
597
-
598
- ---
599
-
600
- ## Contribuer
601
-
602
- Vous voulez améliorer NestCraftX ? Les contributions sont les bienvenues !
603
-
604
- ### Comment contribuer
605
-
606
- 1. Fork le projet
607
- 2. Créez une branche pour votre fonctionnalité (`git checkout -b feature/AmazingFeature`)
608
- 3. Committez vos changements (`git commit -m 'Add some AmazingFeature'`)
609
- 4. Push vers la branche (`git push origin feature/AmazingFeature`)
610
- 5. Ouvrez une Pull Request
611
-
612
- ### Ouvrir une issue
613
-
614
- Des bugs ? Des idées ? Ouvrez une issue sur GitHub !
615
-
616
- ### Développeurs
617
-
618
- Pour développer localement :
619
-
620
- ```bash
621
- git clone https://github.com/august-dev-pro/NestCraftX.git
622
- cd NestCraftX
623
- npm install
624
- npm link
625
- ```
626
-
627
- ---
628
-
629
- ## Licence
630
-
631
- MIT © [Ablanhou Augustin Selete](https://github.com/august-dev-pro)
632
-
633
- Libre d'usage pour projets personnels et commerciaux.
634
-
635
- ---
636
-
637
- ## Remerciements
638
-
639
- Merci à tous les contributeurs et à la communauté NestJS !
640
-
641
- **Fait avec ❤️ pour la communauté des développeurs backend**
642
-
643
- ---
644
-
645
- ## Contact & Support
646
-
647
- - 📧 GitHub Issues : [Ouvrir une issue](https://github.com/august-dev-pro/NestCraftX/issues)
648
- - 🌐 Repository : [NestCraftX sur GitHub](https://github.com/august-dev-pro/NestCraftX)
649
- - Si ce projet vous aide, pensez à lui donner une étoile !
650
-
651
- ---
652
-
653
- **NestCraftX v0.2.4** - Clean Architecture Made Simple
654
-
655
- Pour plus d'informations:
656
-
657
- - [Guide d'utilisation complet](./CLI_USAGE.md)
658
- - [Guide de migration](./MIGRATION_GUIDE.md)
659
- - [Changelog detaille](./CHANGELOG.md)
1
+ # NestCraftX — Générateur de Clean Architecture pour NestJS
2
+
3
+ [![Version NPM](https://img.shields.io/npm/v/nestcraftx?style=flat-square&color=CB3837)](https://www.npmjs.com/package/nestcraftx)
4
+ [![Téléchargements](https://img.shields.io/npm/dm/nestcraftx?style=flat-square&color=51a2da)](https://www.npmjs.com/package/nestcraftx)
5
+ [![Licence: MIT](https://img.shields.io/badge/Licence-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT)
6
+ [![Version Node.js](https://img.shields.io/badge/node-%3E%3D14.0.0-4dc71f?style=flat-square)](https://nodejs.org)
7
+
8
+ **ORMs:**
9
+ ![Prisma](https://img.shields.io/badge/Prisma-2D3748?style=flat-square&logo=prisma&logoColor=white)
10
+ ![TypeORM](https://img.shields.io/badge/TypeORM-FE0803?style=flat-square&logo=typeorm&logoColor=white)
11
+ ![Mongoose](https://img.shields.io/badge/Mongoose-880000?style=flat-square&logo=mongodb&logoColor=green)
12
+
13
+ **NestCraftX** est un CLI Node.js moderne et puissant pour générer automatiquement des projets NestJS avec une architecture propre, maintenable et prête pour la production.
14
+
15
+ Il échafaude tout ce dont vous avez besoin pour démarrer :
16
+
17
+ - **Modules, Controllers & Services** (Entièrement typés)
18
+ - **Repositories & Mappers** (Pour un flux de données propre et une séparation des responsabilités)
19
+ - **DTOs** (Avec validation intégrée via class-validator)
20
+ - **Entités / Schémas** (Prisma, TypeORM, ou Mongoose)
21
+ - **Authentification** (JWT avec Refresh Tokens & génération automatique des secrets)
22
+ - **Prêt pour le DevOps** (Docker, Docker-Compose & Swagger UI)
23
+
24
+ NestCraftX implémente les meilleures pratiques modernes : **Clean Architecture**, **Domain-Driven Design (DDD)**, **Validation stricte**, **Sécurité pré-configurée** et bien plus encore.
25
+
26
+ ### Fonctionnalités Clés :
27
+
28
+ - **Architecture Double :** Choisissez entre le mode _Light_ (idéal pour les MVPs) ou _Full_ (Clean Architecture / DDD).
29
+ - **Relations Interactives :** Définissez vos relations 1-N ou N-N directement depuis votre terminal.
30
+ - **Configuration Intelligente :** Décorateurs Swagger automatiques, fichiers .env auto-documentés et connexions aux bases de données pré-configurées.
31
+
32
+ > **Version 0.2.5 :** Mise à jour majeure — Génération interactive par flags, refonte de l'authentification avec gestionnaire de session, templates professionnels (.gitignore, README) et standards de code maintenus par la communauté !
33
+
34
+ ---
35
+
36
+ ## Sommaire
37
+
38
+ - [Nouveautes v0.2.5](#nouveautes-v025)
39
+ - [Objectif du projet](#objectif-du-projet)
40
+ - [Prérequis](#prérequis)
41
+ - [Installation](#installation)
42
+ - [Commandes disponibles](#commandes-disponibles)
43
+ - [Fonctionnalités](#fonctionnalités)
44
+ - [Architecture générée](#architecture-générée)
45
+ - [Démo complète](#démo-complète)
46
+ - [Guide d'utilisation](#guide-dutilisation)
47
+ - [Roadmap](#roadmap)
48
+ - [Contribuer](#contribuer)
49
+ - [Licence](#licence)
50
+
51
+ ---
52
+
53
+ ## Nouveautes v0.2.5
54
+
55
+ ### Deux Modes d'Architecture
56
+
57
+ **Mode FULL - Architecture Complete**
58
+
59
+ - Clean Architecture avec use-cases, mappers, adapters
60
+ - Separation stricte domain/application/infrastructure/presentation
61
+ - Ideal pour projets complexes et scalables
62
+
63
+ **Mode LIGHT - Architecture MVP**
64
+
65
+ - Structure simplifiee : controllers → services → repositories
66
+ - Demarrage rapide pour prototypes
67
+ - Parfait pour petits projets et MVPs
68
+
69
+ ### Demo Command Amélioré
70
+
71
+ - Options par flags : `--light`, `--orm`, `--auth`, `--swagger`, `--docker`
72
+ - ✅ Mode interactif : pose les questions uniquement si flags manquants
73
+ - ✅ Fusion intelligente flags + réponses interactives
74
+ - ✅ 3 entités pré-configurées avec relations
75
+ - ✅ Support de tous les ORMs (Prisma, TypeORM, Mongoose)
76
+ - ✅ Instructions séparées dans [Documentation Demo](./DEMO.md)
77
+
78
+ ### CLI Moderne avec Flags
79
+
80
+ ```bash
81
+ nestcraftx new <project-name> [options]
82
+
83
+ Options:
84
+ --light Mode architecture simplifiee
85
+ --full Mode architecture complete (defaut)
86
+ --dn=<db> Choix db: postgresql|mongodb
87
+ --orm=<orm> Choix ORM: prisma|typeorm|mongoose
88
+ --auth Active authentification JWT
89
+ --swagger Active documentation Swagger
90
+ --docker Active Docker (defaut: true)
91
+ ```
92
+
93
+ ### Generation Automatique de Secrets
94
+
95
+ - Secrets JWT auto-generes (64 caracteres securises)
96
+ - Fichier .env pret a l'emploi
97
+ - DATABASE_URL configure automatiquement
98
+ - Fichier .env.example sanitise
99
+
100
+ ### UX Amelioree
101
+
102
+ - Messages avec couleurs (info, success, error)
103
+ - Spinners animes pour operations longues
104
+ - Resume detaille post-generation
105
+ - Validation des options en temps reel
106
+
107
+ ### Exemples Rapides
108
+
109
+ ```bash
110
+ # Projet LIGHT avec Prisma et Auth
111
+ nestcraftx new mon-api --light --orm=prisma --auth
112
+
113
+ # Projet FULL avec TypeORM et Swagger
114
+ nestcraftx new mon-projet --full --orm=typeorm --swagger
115
+
116
+ # Projet MongoDB minimal
117
+ nestcraftx new mon-api --light --orm=mongoose
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Objectif du projet
123
+
124
+ Ne perdez plus de temps à configurer votre architecture backend. NestCraftX vous permet de :
125
+
126
+ - Démarrer un projet en quelques minutes au lieu de quelques jours
127
+ - ✅ Avoir une architecture Clean dès le départ
128
+ - ✅ Uniformiser vos projets avec les mêmes bonnes pratiques
129
+ - ✅ Configuration automatiser de BD-ORM et autres modules (decorateur, authentification, dockerisation)
130
+ - ✅ Vous concentrer sur la logique métier
131
+ - ✅ Choisir entre configuration rapide (Light) ou complète (Full)
132
+
133
+ ## Prérequis
134
+
135
+ Assurez-vous d'avoir :
136
+
137
+ - **Node.js** v14 ou supérieur
138
+ - **npm** ou **yarn**
139
+ - **Nest CLI** (optionnel, sera utilisé via npx)
140
+ - **Docker** (optionnel, pour la containerisation)
141
+ - **Git** (optionnel, pour la gestion de version)
142
+
143
+ Vérifiez votre environnement avec :
144
+
145
+ ```bash
146
+ nestcraftx test
147
+ ```
148
+
149
+ ---
150
+
151
+ ## Installation
152
+
153
+ ### Via npx (recommandé)
154
+
155
+ Utilisez NestCraftX sans installation globale :
156
+
157
+ ```bash
158
+ npx nestcraftx new my-app
159
+ ```
160
+
161
+ ### Installation globale
162
+
163
+ Pour une utilisation fréquente :
164
+
165
+ ```bash
166
+ npm install -g nestcraftx
167
+ nestcraftx new my-app
168
+ ```
169
+
170
+ ### Installation pour développement
171
+
172
+ ```bash
173
+ git clone https://github.com/august-dev-pro/NestCraftX.git
174
+ cd NestCraftX
175
+ npm install
176
+ npm link
177
+ ```
178
+
179
+ ---
180
+
181
+ ## Commandes disponibles
182
+
183
+ ### `nestcraftx new <project-name> [options]`
184
+
185
+ Crée un nouveau projet NestJS avec Clean Architecture.
186
+
187
+ **Options :**
188
+
189
+ - `--light` : Mode configuration rapide
190
+ - `--orm <prisma|typeorm|mongoose>` : Choix de l'ORM
191
+ - `--auth` : Ajouter l'authentification JWT
192
+ - `--swagger` : Ajouter Swagger UI
193
+ - `--docker` : Générer les fichiers Docker
194
+
195
+ **Exemples :**
196
+
197
+ ```bash
198
+ # Mode interactif complet
199
+ nestcraftx new my-app
200
+
201
+ # Mode rapide avec options
202
+ nestcraftx new blog-api --light --orm=prisma --auth --swagger
203
+
204
+ # Configuration personnalisée
205
+ nestcraftx new shop --orm=typeorm --auth
206
+ ```
207
+
208
+ ### `nestcraftx demo [options]`
209
+
210
+ Génère un projet de démonstration complet (blog-demo) avec :
211
+
212
+ - 3 entités (User, Post, Comment) avec relations 1-n
213
+ - Auth JWT intégrée
214
+ - Swagger activé
215
+ - Docker configuré
216
+
217
+ **Options :**
218
+
219
+ - `--light` : Mode architecture simplifiée
220
+ - `--docker` : Activer Docker (défaut: true)
221
+ - `--auth` : Activer Auth JWT (défaut: true)
222
+ - `--swagger` : Activer Swagger (défaut: true)
223
+ - `--orm <prisma|typeorm|mongoose>` : Choix de l'ORM (défaut: prisma)
224
+
225
+ **Exemples :**
226
+
227
+ ```bash
228
+ # Mode interactif (posera les questions)
229
+ nestcraftx demo
230
+
231
+ # Mode LIGHT avec Mongoose
232
+ nestcraftx demo --light --orm=mongoose
233
+
234
+ # Mode FULL avec TypeORM
235
+ nestcraftx demo --orm=typeorm --auth --swagger
236
+
237
+ # Démarrer rapidement
238
+ nestcraftx demo --light --orm=prisma
239
+ ```
240
+
241
+ **Résultat :**
242
+
243
+ Un projet blog fonctionnel avec :
244
+
245
+ - Blog-demo créé
246
+ - 3 entités complètes
247
+ - Relations entre User → Post → Comment
248
+ - Endpoints auth, users, posts, comments prêts
249
+ - Documentation Swagger interactive
250
+
251
+ ### `nestcraftx test`
252
+
253
+ Vérifie que votre environnement est prêt :
254
+
255
+ ```bash
256
+ nestcraftx test
257
+ ```
258
+
259
+ Affiche le statut de Node, npm, Nest CLI, Docker, Git, etc.
260
+
261
+ ### `nestcraftx info`
262
+
263
+ Affiche les informations sur le CLI :
264
+
265
+ ```bash
266
+ nestcraftx info
267
+ ```
268
+
269
+ ---
270
+
271
+ ## Fonctionnalités
272
+
273
+ ### Architecture
274
+
275
+ **Clean Architecture** avec séparation domain/application/infrastructure/presentation
276
+ ✅ **Domain-Driven Design** avec entités, use cases et repositories
277
+ ✅ **Repository Pattern** pour l'abstraction de la persistance
278
+ ✅ **Use Cases Pattern** pour la logique métier isolée
279
+ ✅ **Mapper Pattern** pour la transformation des données
280
+
281
+ ### Base de données
282
+
283
+ **Prisma ➡️ (PostgreSQL)** - ORM moderne et type-safe (recommandé)
284
+
285
+ ✅ **TypeORM ➡️ (PostgreSQL)** - ORM complet avec decorateurs
286
+
287
+ ✅ **Mongoose ➡️ (MongoDB)** - ODM pour MongoDB
288
+
289
+ Configuration automatique du schéma
290
+
291
+ Support PostgreSQL et MongoDB
292
+
293
+ ### Sécurité
294
+
295
+ **JWT Authentication** avec guards et strategies
296
+
297
+ ✅ **Role-based Access Control** (RBAC)
298
+
299
+ ✅ **Password hashing** avec bcrypt
300
+
301
+ ✅ **Public routes** avec decorators
302
+
303
+ ### Documentation
304
+
305
+ **Swagger UI** automatique
306
+
307
+ Décorateurs ApiProperty sur les DTOs
308
+
309
+ Documentation des endpoints
310
+
311
+ Interface interactive d'API
312
+
313
+ ### DevOps
314
+
315
+ **Docker** et **Docker Compose**
316
+
317
+ Configuration des variables d'environnement
318
+
319
+ Logging structuré
320
+
321
+ Error handling centralisé
322
+
323
+ ### Qualité du code
324
+
325
+ Validation des DTOs avec class-validator
326
+
327
+ Transformation des données avec class-transformer
328
+
329
+ Intercepteurs de réponse standardisés
330
+
331
+ Filtres d'exceptions globaux
332
+
333
+ ---
334
+
335
+ ## Generated Architecture
336
+
337
+ ### Mode Light (MVP)
338
+
339
+ ```
340
+ src
341
+ ├── auth
342
+ │ ├── controllers
343
+ │ │ └── auth.controller.ts
344
+ │ ├── dtos
345
+ │ │ ├── create-session.dto.ts
346
+ ├── forgotPassword.dto.ts
347
+ │ │ ├── loginCredential.dto.ts
348
+ │ │ ├── refreshToken.dto.ts
349
+ │ │ ├── resetPassword.dto.ts
350
+ │ │ ├── sendOtp.dto.ts
351
+ │ │ └── verifyOtp.dto.ts
352
+ │ ├── entities
353
+ │ │ └── session.entity.ts
354
+ │ ├── guards
355
+ │ │ ├── jwt-auth.guard.ts
356
+ │ └── role.guard.ts
357
+ │ ├── mappers
358
+ │ │ └── session.mapper.ts
359
+ │ ├── persistence
360
+ │ │ └── session.repository.ts
361
+ │ ├── services
362
+ │ │ ├── auth.service.ts
363
+ │ └── session.service.ts
364
+ │ ├── strategies
365
+ │ │ └── jwt.strategy.ts
366
+ └── auth.module.ts
367
+
368
+ ├── common
369
+ ├── decorators
370
+ │ │ ├── current-user.decorator.ts
371
+ ├── public.decorator.ts
372
+ │ │ └── role.decorator.ts
373
+ │ ├── enums
374
+ │ │ └── role.enum.ts
375
+ │ ├── filters
376
+ │ │ └── all-exceptions.filter.ts
377
+ │ ├── interceptors
378
+ │ │ └── response.interceptor.ts
379
+ └── middlewares
380
+ └── logger.middleware.ts
381
+
382
+ ├── prisma
383
+ ├── prisma.module.ts
384
+ │ └── prisma.service.ts
385
+
386
+ ├── user
387
+ ├── controllers
388
+ │ │ └── user.controller.ts
389
+ │ ├── dtos
390
+ │ │ └── user.dto.ts
391
+ │ ├── entities
392
+ │ │ └── user.entity.ts
393
+ │ ├── repositories
394
+ │ │ └── user.repository.ts
395
+ │ ├── services
396
+ │ │ └── user.service.ts
397
+ └── user.module.ts
398
+
399
+ ├── app.controller.spec.ts
400
+ ├── app.controller.ts
401
+ ├── app.module.ts
402
+ ├── app.service.ts
403
+ └── main.ts
404
+ ```
405
+
406
+ ### Mode Full (Clean Architecture)
407
+
408
+ ```
409
+ src
410
+ ├── auth
411
+ │ ├── application
412
+ │ │ ├── dtos
413
+ │ │ ├── create-session.dto.ts
414
+ │ │ ├── forgotPassword.dto.ts
415
+ │ │ │ ├── loginCredential.dto.ts
416
+ │ │ │ ├── refreshToken.dto.ts
417
+ │ │ │ ├── resetPassword.dto.ts
418
+ │ │ │ ├── sendOtp.dto.ts
419
+ │ │ │ └── verifyOtp.dto.ts
420
+ │ │ └── services
421
+ │ │ ├── auth.service.ts
422
+ │ │ └── session.service.ts
423
+ │ ├── domain
424
+ │ │ ├── entities
425
+ │ │ └── session.entity.ts
426
+ │ │ └── interfaces
427
+ │ │ └── session.repository.interface.ts
428
+ ├── infrastructure
429
+ │ │ ├── guards
430
+ │ │ ├── jwt-auth.guard.ts
431
+ │ │ │ └── role.guard.ts
432
+ │ │ ├── mappers
433
+ │ │ │ └── session.mapper.ts
434
+ │ │ ├── persistence
435
+ │ │ │ └── session.repository.ts
436
+ │ │ └── strategies
437
+ │ │ └── jwt.strategy.ts
438
+ ├── presentation
439
+ │ │ └── controllers
440
+ │ └── auth.controller.ts
441
+ │ └── auth.module.ts
442
+
443
+ ├── common
444
+ ├── decorators
445
+ │ │ ├── current-user.decorator.ts
446
+ ├── public.decorator.ts
447
+ │ │ └── role.decorator.ts
448
+ │ ├── filters
449
+ │ │ └── all-exceptions.filter.ts
450
+ │ ├── interceptors
451
+ │ │ └── response.interceptor.ts
452
+ └── middlewares
453
+ └── logger.middleware.ts
454
+
455
+ ├── prisma
456
+ ├── prisma.module.ts
457
+ │ └── prisma.service.ts
458
+
459
+ ├── user
460
+ ├── application
461
+ │ │ ├── dtos
462
+ │ │ └── user.dto.ts
463
+ │ │ ├── services
464
+ │ │ │ └── user.service.ts
465
+ │ │ └── use-cases
466
+ │ │ ├── create-user.use-case.ts
467
+ │ │ ├── delete-user.use-case.ts
468
+ │ │ ├── getAll-user.use-case.ts
469
+ │ │ ├── getById-user.use-case.ts
470
+ │ │ └── update-user.use-case.ts
471
+ │ ├── domain
472
+ │ │ ├── entities
473
+ │ │ └── user.entity.ts
474
+ │ │ ├── enums
475
+ │ │ │ └── role.enum.ts
476
+ │ │ └── interfaces
477
+ │ │ └── user.repository.interface.ts
478
+ ├── infrastructure
479
+ │ │ ├── adapters
480
+ │ │ └── user.adapter.ts
481
+ │ │ ├── mappers
482
+ │ │ │ └── user.mapper.ts
483
+ │ │ └── repositories
484
+ │ │ └── user.repository.ts
485
+ ├── presentation
486
+ │ │ └── controllers
487
+ │ └── user.controller.ts
488
+ │ └── user.module.ts
489
+
490
+ ├── app.controller.spec.ts
491
+ ├── app.controller.ts
492
+ ├── app.module.ts
493
+ ├── app.service.ts
494
+ └── main.ts
495
+ ```
496
+
497
+ ## Démo complète
498
+
499
+ 🔥 Une démo prête à exécuter, incluant 3 entités liées, Auth JWT, Swagger, Docker et ORM configurable.
500
+
501
+ 👉 Voir la documentation complète : [Documentation Demo](./DEMO.md)
502
+
503
+ ## Guide d'utilisation
504
+
505
+ ### Démarrage rapide (Mode Light)
506
+
507
+ ```bash
508
+ # 1. Créer un projet simple
509
+ npx nestcraftx new my-api --light --orm prisma
510
+
511
+ # 2. Naviguer dans le projet
512
+ cd my-api
513
+
514
+ # 3. Démarrer l'application
515
+ npm run start:dev
516
+ ```
517
+
518
+ ### Configuration complète (Mode Full)
519
+
520
+ ```bash
521
+ # 1. Lancer la création avec interface interactive
522
+ npx nestcraftx new my-project
523
+
524
+ # 2. Répondre aux questions :
525
+ # - Nom du projet
526
+ # - Choix de la base de données
527
+ # - Configuration ORM
528
+ # - Entités et relations
529
+ # - Auth et Swagger
530
+
531
+ # 3. Démarrer
532
+ cd my-project
533
+ npm run start:dev
534
+ ```
535
+
536
+ ### Projet de démonstration
537
+
538
+ ```bash
539
+ # Générer un projet blog complet (mode interactif)
540
+ nestcraftx demo
541
+
542
+ # Ou avec options directes
543
+ nestcraftx demo --light --orm prisma --auth --swagger
544
+
545
+ # Naviguer et démarrer
546
+ cd blog-demo
547
+ npm run start:dev
548
+
549
+ # Accéder à Swagger UI
550
+ open http://localhost:3000/api/docs
551
+ ```
552
+
553
+ **Qu'inclut le projet demo :**
554
+
555
+ - Architecture Clean complète (ou LIGHT selon l'option)
556
+ - 3 entités pré-configurées : User, Post, Comment
557
+ - Relations entre entités (User Post, Post ↔ Comment)
558
+ - Auth JWT avec endpoints /auth/register et /auth/login
559
+ - Endpoints métier : /users, /posts, /comments
560
+ - Documentation Swagger automatique
561
+ - Docker & Docker Compose configurés
562
+ - Configuration ORM de votre choix (Prisma, TypeORM, Mongoose)
563
+
564
+ ---
565
+
566
+ ## Feuille de Route (Roadmap)
567
+
568
+ ### Version 0.2.x — Stabilisation
569
+
570
+ - [x] Architectures Light & Full
571
+ - [x] CLI Interactif
572
+ - [x] Support Multi-ORM (Prisma / TypeORM / Mongoose)
573
+ - [ ] Amélioration de la documentation et des exemples
574
+
575
+ ### Version 0.3.0 — Expérience Développeur (DX)
576
+
577
+ - [ ] Commande `generate` (ajouter des modules/entités à un projet existant)
578
+ - [ ] Support SQLite pour des démos et tests rapides sans config
579
+ - [ ] Meilleure gestion des erreurs et logs terminaux colorés
580
+
581
+ ### Version 0.4.0 — Prêt pour la Production
582
+
583
+ - [ ] Stratégies de session optionnelles (Map / Base de données / Redis)
584
+ - [ ] Templates de seeding (peuplement de données) avancés
585
+ - [ ] Presets de projet (API seule / Auth / CRUD complet)
586
+
587
+ ### Version 1.0.0 — Version Stable
588
+
589
+ - [ ] CLI nativement en TypeScript
590
+ - [ ] Conventions strictes et contrats d'API stables
591
+ - [ ] Site officiel de documentation
592
+ - [ ] Garanties de support à long terme (LTS)
593
+
594
+ ## Contribuer
595
+
596
+ Vous voulez améliorer NestCraftX ? Les contributions sont les bienvenues !
597
+
598
+ ### Comment contribuer
599
+
600
+ 1. Fork le projet
601
+ 2. Créez une branche pour votre fonctionnalité (`git checkout -b feature/AmazingFeature`)
602
+ 3. Committez vos changements (`git commit -m 'Add some AmazingFeature'`)
603
+ 4. Push vers la branche (`git push origin feature/AmazingFeature`)
604
+ 5. Ouvrez une Pull Request
605
+
606
+ ### Ouvrir une issue
607
+
608
+ Des bugs ? Des idées ? Ouvrez une issue sur GitHub !
609
+
610
+ ### Développeurs
611
+
612
+ Pour développer localement :
613
+
614
+ ```bash
615
+ git clone https://github.com/august-dev-pro/NestCraftX.git
616
+ cd NestCraftX
617
+ npm install
618
+ npm link
619
+ ```
620
+
621
+ ---
622
+
623
+ ## Licence
624
+
625
+ MIT © [Ablanhou Augustin Selete](https://github.com/august-dev-pro)
626
+
627
+ Libre d'usage pour projets personnels et commerciaux.
628
+
629
+ ---
630
+
631
+ ## Remerciements
632
+
633
+ Merci à tous les contributeurs et à la communauté NestJS !
634
+
635
+ **Fait avec ❤️ pour la communauté des développeurs backend**
636
+
637
+ ---
638
+
639
+ ## Contact & Support
640
+
641
+ - 📧 GitHub Issues : [Ouvrir une issue](https://github.com/august-dev-pro/NestCraftX/issues)
642
+ - 🌐 Repository : [NestCraftX sur GitHub](https://github.com/august-dev-pro/NestCraftX)
643
+ - ⭐ Si ce projet vous aide, pensez à lui donner une étoile !
644
+
645
+ ---
646
+
647
+ **NestCraftX v0.2.5** - Clean Architecture Made Simple
648
+
649
+ Pour plus d'informations:
650
+
651
+ - [Guide d'utilisation complet](./CLI_USAGE.md)
652
+ - [Guide de migration](./MIGRATION_GUIDE.md)
653
+ - [Changelog detaille](./CHANGELOG.md)