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.
- package/.gitattributes +6 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +33 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
- package/.github/ISSUE_TEMPLATE/pull_request_template.md +24 -0
- package/CHANGELOG.fr.md +97 -97
- package/CHANGELOG.md +98 -98
- package/CLI_USAGE.fr.md +331 -331
- package/CLI_USAGE.md +364 -364
- package/DEMO.fr.md +292 -292
- package/DEMO.md +294 -294
- package/LICENSE +21 -21
- package/MIGRATION_GUIDE.fr.md +127 -127
- package/MIGRATION_GUIDE.md +124 -124
- package/QUICK_START.fr.md +152 -152
- package/QUICK_START.md +169 -169
- package/README.fr.md +653 -659
- package/SECURITY.md +10 -0
- package/bin/nestcraft.js +84 -64
- package/commands/demo.js +333 -330
- package/commands/generate.js +93 -0
- package/commands/generateConf.js +91 -0
- package/commands/help.js +78 -78
- package/commands/info.js +48 -48
- package/commands/new.js +338 -335
- package/commands/start.js +19 -19
- package/commands/test.js +7 -7
- package/package.json +41 -41
- package/readme.md +638 -643
- package/utils/cliParser.js +133 -76
- package/utils/colors.js +62 -62
- package/utils/configs/configureDocker.js +120 -120
- package/utils/configs/setupCleanArchitecture.js +563 -557
- package/utils/configs/setupLightArchitecture.js +701 -660
- package/utils/envGenerator.js +122 -122
- package/utils/file-utils/packageJsonUtils.js +49 -55
- package/utils/file-utils/saveProjectConfig.js +36 -0
- package/utils/fullModeInput.js +607 -607
- package/utils/generators/application/dtoUpdater.js +54 -0
- package/utils/generators/cleanModuleGenerator.js +475 -0
- package/utils/generators/database/setupDatabase.js +31 -0
- package/utils/generators/domain/entityUpdater.js +78 -0
- package/utils/generators/infrastructure/mapperUpdater.js +65 -0
- package/utils/generators/lightModuleGenerator.js +131 -0
- package/utils/generators/relation/relation.engine.js +64 -0
- package/utils/interactive/askEntityInputs.js +165 -0
- package/utils/lightModeInput.js +460 -460
- package/utils/loggers/logError.js +7 -7
- package/utils/loggers/logInfo.js +7 -7
- package/utils/loggers/logSuccess.js +7 -7
- package/utils/loggers/logWarning.js +7 -7
- package/utils/setups/orms/typeOrmSetup.js +630 -630
- package/utils/setups/projectSetup.js +46 -46
- package/utils/setups/setupAuth.js +973 -926
- package/utils/setups/setupDatabase.js +75 -75
- package/utils/setups/setupLogger.js +69 -59
- package/utils/setups/setupMongoose.js +377 -432
- package/utils/setups/setupPrisma.js +802 -630
- package/utils/setups/setupSwagger.js +97 -88
- package/utils/shell.js +32 -32
- package/utils/spinner.js +57 -57
- package/utils/systemCheck.js +124 -124
- package/utils/userInput.js +421 -421
- package/utils/utils.js +2197 -1762
package/readme.md
CHANGED
|
@@ -1,643 +1,638 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
![
|
|
4
|
-
![
|
|
5
|
-
![
|
|
6
|
-
![
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
- [
|
|
41
|
-
- [
|
|
42
|
-
- [
|
|
43
|
-
- [
|
|
44
|
-
- [
|
|
45
|
-
- [
|
|
46
|
-
- [
|
|
47
|
-
- [
|
|
48
|
-
- [
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
- ✅
|
|
74
|
-
- ✅
|
|
75
|
-
- ✅
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
--
|
|
87
|
-
--
|
|
88
|
-
--
|
|
89
|
-
--
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
#
|
|
113
|
-
nestcraftx new my-
|
|
114
|
-
|
|
115
|
-
#
|
|
116
|
-
nestcraftx new my-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
- ✅
|
|
129
|
-
- ✅
|
|
130
|
-
- ✅
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
- **
|
|
140
|
-
- **
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
- `--
|
|
192
|
-
- `--
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
#
|
|
201
|
-
nestcraftx new
|
|
202
|
-
|
|
203
|
-
#
|
|
204
|
-
nestcraftx new
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
- `--
|
|
222
|
-
- `--
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
#
|
|
231
|
-
nestcraftx demo
|
|
232
|
-
|
|
233
|
-
#
|
|
234
|
-
nestcraftx demo --orm=
|
|
235
|
-
|
|
236
|
-
#
|
|
237
|
-
nestcraftx demo --
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
-
|
|
248
|
-
-
|
|
249
|
-
-
|
|
250
|
-
-
|
|
251
|
-
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
✅ **
|
|
281
|
-
✅ **
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
│
|
|
348
|
-
│ │
|
|
349
|
-
│
|
|
350
|
-
│ │ ├──
|
|
351
|
-
│ │ ├──
|
|
352
|
-
│ │ ├──
|
|
353
|
-
│ │
|
|
354
|
-
│ ├──
|
|
355
|
-
│ │
|
|
356
|
-
│
|
|
357
|
-
│
|
|
358
|
-
│ │ └──
|
|
359
|
-
│ ├──
|
|
360
|
-
│ │
|
|
361
|
-
│
|
|
362
|
-
│
|
|
363
|
-
│
|
|
364
|
-
│
|
|
365
|
-
│ │ └── session.
|
|
366
|
-
│ ├──
|
|
367
|
-
│ │
|
|
368
|
-
│ └──
|
|
369
|
-
│
|
|
370
|
-
|
|
371
|
-
│
|
|
372
|
-
│
|
|
373
|
-
|
|
374
|
-
│
|
|
375
|
-
│ ├──
|
|
376
|
-
│ │
|
|
377
|
-
│
|
|
378
|
-
│
|
|
379
|
-
│
|
|
380
|
-
│
|
|
381
|
-
│ └──
|
|
382
|
-
│
|
|
383
|
-
│
|
|
384
|
-
|
|
385
|
-
│
|
|
386
|
-
│
|
|
387
|
-
|
|
388
|
-
├──
|
|
389
|
-
│
|
|
390
|
-
│
|
|
391
|
-
|
|
392
|
-
│
|
|
393
|
-
│
|
|
394
|
-
│
|
|
395
|
-
│
|
|
396
|
-
│
|
|
397
|
-
│
|
|
398
|
-
│
|
|
399
|
-
│ └── user.
|
|
400
|
-
│
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
├── app.
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
│
|
|
417
|
-
│ │
|
|
418
|
-
│
|
|
419
|
-
│ │ ├──
|
|
420
|
-
│ │ ├──
|
|
421
|
-
│ │ ├──
|
|
422
|
-
│ │
|
|
423
|
-
│ ├──
|
|
424
|
-
│ │
|
|
425
|
-
│
|
|
426
|
-
│
|
|
427
|
-
│ │ └──
|
|
428
|
-
│ ├──
|
|
429
|
-
│ │
|
|
430
|
-
│
|
|
431
|
-
│
|
|
432
|
-
│
|
|
433
|
-
│
|
|
434
|
-
│ │ └── session.
|
|
435
|
-
│ ├──
|
|
436
|
-
│ │
|
|
437
|
-
│ └──
|
|
438
|
-
│
|
|
439
|
-
|
|
440
|
-
│
|
|
441
|
-
│
|
|
442
|
-
|
|
443
|
-
│
|
|
444
|
-
│ ├──
|
|
445
|
-
│ │
|
|
446
|
-
│
|
|
447
|
-
│
|
|
448
|
-
│
|
|
449
|
-
│
|
|
450
|
-
│ └──
|
|
451
|
-
│
|
|
452
|
-
│
|
|
453
|
-
|
|
454
|
-
│
|
|
455
|
-
│
|
|
456
|
-
|
|
457
|
-
├──
|
|
458
|
-
│
|
|
459
|
-
│
|
|
460
|
-
|
|
461
|
-
│
|
|
462
|
-
│
|
|
463
|
-
│
|
|
464
|
-
│
|
|
465
|
-
│
|
|
466
|
-
│
|
|
467
|
-
│
|
|
468
|
-
│ └── user.
|
|
469
|
-
│
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
├── app.
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
#
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
#
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
#
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
#
|
|
508
|
-
# -
|
|
509
|
-
# -
|
|
510
|
-
|
|
511
|
-
#
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
#
|
|
523
|
-
nestcraftx demo
|
|
524
|
-
|
|
525
|
-
#
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
-
|
|
539
|
-
-
|
|
540
|
-
-
|
|
541
|
-
-
|
|
542
|
-
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
- [
|
|
555
|
-
|
|
556
|
-
- [ ]
|
|
557
|
-
|
|
558
|
-
### Version 0.3.0
|
|
559
|
-
|
|
560
|
-
- [ ]
|
|
561
|
-
|
|
562
|
-
- [ ]
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
- [ ]
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
- [ ]
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
```
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
For more information:
|
|
640
|
-
|
|
641
|
-
- [Complete Usage Guide](./CLI_USAGE.md)
|
|
642
|
-
- [Migration Guide](./MIGRATION_GUIDE.md)
|
|
643
|
-
- [Detailed Changelog](./CHANGELOG.md)
|
|
1
|
+
# NestCraftX — Clean Architecture Generator for NestJS
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/nestcraftx)
|
|
4
|
+
[](https://www.npmjs.com/package/nestcraftx)
|
|
5
|
+
[](https://opensource.org/licenses/MIT)
|
|
6
|
+
[](https://nodejs.org)
|
|
7
|
+
|
|
8
|
+
**ORMs:**
|
|
9
|
+

|
|
10
|
+

|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
**NestCraftX** is a modern and powerful Node.js CLI for automatically generating NestJS projects and content with a clean, maintainable, and production-ready architecture.
|
|
14
|
+
|
|
15
|
+
It scaffolds everything you need to get started:
|
|
16
|
+
|
|
17
|
+
- Modules, Controllers & Services (Fully typed)
|
|
18
|
+
- Repositories & Mappers (For clean data flow and separation of concerns)
|
|
19
|
+
- DTOs (With built-in validation)
|
|
20
|
+
- Entities / Schemas (Prisma, TypeORM, or Mongoose)
|
|
21
|
+
- Authentication (JWT with Refresh Tokens & auto-generated secrets)
|
|
22
|
+
- DevOps Ready (Docker, Docker-Compose & Swagger UI)
|
|
23
|
+
|
|
24
|
+
It implements modern best practices: **Clean Architecture**, **Domain-Driven Design (DDD)**, **Prisma/TypeORM/Mongoose**, **JWT Auth with auto-generated secrets**, **Swagger**, **Docker**, and much more.
|
|
25
|
+
|
|
26
|
+
Key Features:
|
|
27
|
+
|
|
28
|
+
- Dual-Architecture: Choose between Light (MVP) or Full (Clean Architecture / DDD).
|
|
29
|
+
|
|
30
|
+
- Interactive Relations: Define 1-N or N-N relationships directly in the terminal.
|
|
31
|
+
|
|
32
|
+
- Smart Config: Automated Swagger decorators, auto-documented .env files, and pre-configured database connections.
|
|
33
|
+
|
|
34
|
+
> **Version 0.2.5:** Major release — Interactive generation via flags, Auth refactored with session management, professional templates (gitignore, README), and clean code standards maintained by the community!
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Table of Contents
|
|
39
|
+
|
|
40
|
+
- [What's New in v0.2.5](#whats-new-in-v025)
|
|
41
|
+
- [Project Objective](#project-objective)
|
|
42
|
+
- [Prerequisites](#prerequisites)
|
|
43
|
+
- [Installation](#installation)
|
|
44
|
+
- [Available Commands](#available-commands)
|
|
45
|
+
- [Features](#features)
|
|
46
|
+
- [Generated Architecture](#generated-architecture)
|
|
47
|
+
- [Complete Demo](#complete-demo)
|
|
48
|
+
- [Usage Guide](#usage-guide)
|
|
49
|
+
- [Roadmap](#roadmap)
|
|
50
|
+
- [Contributing](#contributing)
|
|
51
|
+
- [License](#license)
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## What's New in v0.2.5
|
|
56
|
+
|
|
57
|
+
### Two Architecture Modes
|
|
58
|
+
|
|
59
|
+
**FULL Mode - Complete Architecture**
|
|
60
|
+
|
|
61
|
+
- Clean Architecture with use-cases, mappers, adapters
|
|
62
|
+
- Strict separation: domain/application/infrastructure/presentation
|
|
63
|
+
- Ideal for complex and scalable projects
|
|
64
|
+
|
|
65
|
+
**LIGHT Mode - MVP Architecture**
|
|
66
|
+
|
|
67
|
+
- Simplified structure: controllers → services → repositories
|
|
68
|
+
- Quick start for prototypes
|
|
69
|
+
- Perfect for small projects and MVPs
|
|
70
|
+
|
|
71
|
+
### Improved Demo Command
|
|
72
|
+
|
|
73
|
+
- ✅ Flag options: `--light`, `--orm`, `--auth`, `--swagger`, `--docker`
|
|
74
|
+
- ✅ Interactive mode: only asks questions for missing flags
|
|
75
|
+
- ✅ Intelligent merging of flags and interactive responses
|
|
76
|
+
- ✅ 3 pre-configured entities with relationships
|
|
77
|
+
- ✅ Support for all ORMs (Prisma, TypeORM, Mongoose)
|
|
78
|
+
- ✅ Separate instructions in [Demo Documentation](./DEMO.md)
|
|
79
|
+
|
|
80
|
+
### Modern CLI with Flags
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
nestcraftx new <project-name> [options]
|
|
84
|
+
|
|
85
|
+
Options:
|
|
86
|
+
--light Simplified architecture mode
|
|
87
|
+
--full Complete architecture mode (default)
|
|
88
|
+
--db=<db> Database choice: postgresql|mongodb
|
|
89
|
+
--orm=<orm> ORM choice: prisma|typeorm|mongoose
|
|
90
|
+
--auth Enable JWT authentication
|
|
91
|
+
--swagger Enable Swagger documentation
|
|
92
|
+
--docker Enable Docker (default: true)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Automatic Secret Generation
|
|
96
|
+
|
|
97
|
+
- Auto-generated JWT secrets (64 secure characters)
|
|
98
|
+
- Ready-to-use .env file
|
|
99
|
+
- DATABASE_URL automatically configured
|
|
100
|
+
- Sanitized .env.example file
|
|
101
|
+
|
|
102
|
+
### Improved UX
|
|
103
|
+
|
|
104
|
+
- Colored messages (info, success, error)
|
|
105
|
+
- Animated spinners for long operations
|
|
106
|
+
- Detailed post-generation summary
|
|
107
|
+
- Real-time validation of options
|
|
108
|
+
|
|
109
|
+
### Quick Examples
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# LIGHT project with Prisma and Auth
|
|
113
|
+
nestcraftx new my-api --light --orm=prisma --auth
|
|
114
|
+
|
|
115
|
+
# FULL project with TypeORM and Swagger
|
|
116
|
+
nestcraftx new my-project --full --orm=typeorm --swagger
|
|
117
|
+
|
|
118
|
+
# Minimal MongoDB project
|
|
119
|
+
nestcraftx new my-api --light --orm=mongoose
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Project Objective
|
|
125
|
+
|
|
126
|
+
Stop wasting time configuring your backend architecture. NestCraftX allows you to:
|
|
127
|
+
|
|
128
|
+
- ✅ Start a project in minutes instead of days
|
|
129
|
+
- ✅ Have a Clean Architecture from the start
|
|
130
|
+
- ✅ Standardize your projects with the same best practices
|
|
131
|
+
- ✅ Automatically configure DB-ORM and other modules (decorators, authentication, dockerization)
|
|
132
|
+
- ✅ Focus on business logic
|
|
133
|
+
- ✅ Choose between quick configuration (Light) or complete (Full)
|
|
134
|
+
|
|
135
|
+
## Prerequisites
|
|
136
|
+
|
|
137
|
+
Make sure you have:
|
|
138
|
+
|
|
139
|
+
- **Node.js** v14 or higher
|
|
140
|
+
- **npm** or **yarn**
|
|
141
|
+
- **Nest CLI** (optional, will be used via npx)
|
|
142
|
+
- **Docker** (optional, for containerization)
|
|
143
|
+
- **Git** (optional, for version control)
|
|
144
|
+
|
|
145
|
+
Verify your environment with:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
nestcraftx test
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Installation
|
|
154
|
+
|
|
155
|
+
### Via npx (recommended)
|
|
156
|
+
|
|
157
|
+
Use NestCraftX without global installation:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
npx nestcraftx new my-app
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Global Installation
|
|
164
|
+
|
|
165
|
+
For frequent use:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
npm install -g nestcraftx
|
|
169
|
+
nestcraftx new my-app
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Installation for Development
|
|
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
|
+
## Available Commands
|
|
184
|
+
|
|
185
|
+
### `nestcraftx new <project-name> [options]`
|
|
186
|
+
|
|
187
|
+
Creates a new NestJS project with Clean Architecture.
|
|
188
|
+
|
|
189
|
+
**Options:**
|
|
190
|
+
|
|
191
|
+
- `--light` : Quick configuration mode
|
|
192
|
+
- `--orm <prisma|typeorm|mongoose>` : ORM choice
|
|
193
|
+
- `--auth` : Add JWT authentication
|
|
194
|
+
- `--swagger` : Add Swagger UI
|
|
195
|
+
- `--docker` : Generate Docker files
|
|
196
|
+
|
|
197
|
+
**Examples:**
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# Full interactive mode
|
|
201
|
+
nestcraftx new my-app
|
|
202
|
+
|
|
203
|
+
# Quick mode with options
|
|
204
|
+
nestcraftx new blog-api --light --orm=prisma --auth --swagger
|
|
205
|
+
|
|
206
|
+
# Custom configuration
|
|
207
|
+
nestcraftx new shop --orm=typeorm --auth
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### `nestcraftx demo [options]`
|
|
211
|
+
|
|
212
|
+
Generates a complete demonstration project (blog-demo) with:
|
|
213
|
+
|
|
214
|
+
- 3 entities (User, Post, Comment) with 1-n relationships
|
|
215
|
+
- Integrated JWT Auth
|
|
216
|
+
- Swagger enabled
|
|
217
|
+
- Docker configured
|
|
218
|
+
|
|
219
|
+
**Options:**
|
|
220
|
+
|
|
221
|
+
- `--light` : Simplified architecture mode
|
|
222
|
+
- `--docker` : Enable Docker (default: true)
|
|
223
|
+
- `--auth` : Enable JWT Auth (default: true)
|
|
224
|
+
- `--swagger` : Enable Swagger (default: true)
|
|
225
|
+
- `--orm <prisma|typeorm|mongoose>` : ORM choice (default: prisma)
|
|
226
|
+
|
|
227
|
+
**Examples:**
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Interactive mode (will ask questions)
|
|
231
|
+
nestcraftx demo
|
|
232
|
+
|
|
233
|
+
# LIGHT mode with Mongoose
|
|
234
|
+
nestcraftx demo --light --orm=mongoose
|
|
235
|
+
|
|
236
|
+
# FULL mode with TypeORM
|
|
237
|
+
nestcraftx demo --orm=typeorm --auth --swagger
|
|
238
|
+
|
|
239
|
+
# Quick start
|
|
240
|
+
nestcraftx demo --light --orm=prisma
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
**Result:**
|
|
244
|
+
|
|
245
|
+
A functional blog project with:
|
|
246
|
+
|
|
247
|
+
- Blog-demo created
|
|
248
|
+
- 3 complete entities
|
|
249
|
+
- Relationships between User → Post → Comment
|
|
250
|
+
- Auth endpoints (register, login) ready
|
|
251
|
+
- Business endpoints: /users, /posts, /comments ready
|
|
252
|
+
- Automatic Swagger documentation
|
|
253
|
+
- Docker & Docker Compose configured
|
|
254
|
+
- ORM configuration of your choice (Prisma, TypeORM, Mongoose)
|
|
255
|
+
|
|
256
|
+
### `nestcraftx test`
|
|
257
|
+
|
|
258
|
+
Checks if your environment is ready:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
nestcraftx test
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
Displays the status of Node, npm, Nest CLI, Docker, Git, etc.
|
|
265
|
+
|
|
266
|
+
### `nestcraftx info`
|
|
267
|
+
|
|
268
|
+
Displays CLI information:
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
nestcraftx info
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Features
|
|
277
|
+
|
|
278
|
+
### Architecture
|
|
279
|
+
|
|
280
|
+
✅ **Clean Architecture** with domain/application/infrastructure/presentation separation
|
|
281
|
+
✅ **Domain-Driven Design** with entities, use cases and repositories
|
|
282
|
+
✅ **Repository Pattern** for persistence abstraction
|
|
283
|
+
✅ **Use Cases Pattern** for isolated business logic
|
|
284
|
+
✅ **Mapper Pattern** for data transformation
|
|
285
|
+
|
|
286
|
+
### Database
|
|
287
|
+
|
|
288
|
+
✅ **Prisma ➡️ (PostgreSQL)** - Modern and type-safe ORM (recommended)
|
|
289
|
+
|
|
290
|
+
✅ **TypeORM ➡️ (PostgreSQL)** - Complete ORM with decorators
|
|
291
|
+
|
|
292
|
+
✅ **Mongoose ➡️ (MongoDB)** - ODM for MongoDB
|
|
293
|
+
|
|
294
|
+
✅ Automatic schema configuration
|
|
295
|
+
|
|
296
|
+
✅ PostgreSQL and MongoDB support
|
|
297
|
+
|
|
298
|
+
### Security
|
|
299
|
+
|
|
300
|
+
✅ **JWT Authentication** with guards and strategies
|
|
301
|
+
|
|
302
|
+
✅ **Role-based Access Control** (RBAC)
|
|
303
|
+
|
|
304
|
+
✅ **Password hashing** with bcrypt
|
|
305
|
+
|
|
306
|
+
✅ **Public routes** with decorators
|
|
307
|
+
|
|
308
|
+
### Documentation
|
|
309
|
+
|
|
310
|
+
✅ **Swagger UI** automatic
|
|
311
|
+
|
|
312
|
+
✅ ApiProperty decorators on DTOs
|
|
313
|
+
|
|
314
|
+
✅ Endpoint documentation
|
|
315
|
+
|
|
316
|
+
✅ Interactive API interface
|
|
317
|
+
|
|
318
|
+
### DevOps
|
|
319
|
+
|
|
320
|
+
✅ **Docker** and **Docker Compose**
|
|
321
|
+
|
|
322
|
+
✅ Environment variables configuration
|
|
323
|
+
|
|
324
|
+
✅ Structured logging
|
|
325
|
+
|
|
326
|
+
✅ Centralized error handling
|
|
327
|
+
|
|
328
|
+
### Code Quality
|
|
329
|
+
|
|
330
|
+
✅ DTO validation with class-validator
|
|
331
|
+
|
|
332
|
+
✅ Data transformation with class-transformer
|
|
333
|
+
|
|
334
|
+
✅ Standardized response interceptors
|
|
335
|
+
|
|
336
|
+
✅ Global exception filters
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## Generated Architecture
|
|
341
|
+
|
|
342
|
+
### Light Mode (MVP)
|
|
343
|
+
|
|
344
|
+
```
|
|
345
|
+
src
|
|
346
|
+
├── auth
|
|
347
|
+
│ ├── controllers
|
|
348
|
+
│ │ └── auth.controller.ts
|
|
349
|
+
│ ├── dtos
|
|
350
|
+
│ │ ├── create-session.dto.ts
|
|
351
|
+
│ │ ├── forgotPassword.dto.ts
|
|
352
|
+
│ │ ├── loginCredential.dto.ts
|
|
353
|
+
│ │ ├── refreshToken.dto.ts
|
|
354
|
+
│ │ ├── resetPassword.dto.ts
|
|
355
|
+
│ │ ├── sendOtp.dto.ts
|
|
356
|
+
│ │ └── verifyOtp.dto.ts
|
|
357
|
+
│ ├── entities
|
|
358
|
+
│ │ └── session.entity.ts
|
|
359
|
+
│ ├── guards
|
|
360
|
+
│ │ ├── jwt-auth.guard.ts
|
|
361
|
+
│ │ └── role.guard.ts
|
|
362
|
+
│ ├── mappers
|
|
363
|
+
│ │ └── session.mapper.ts
|
|
364
|
+
│ ├── persistence
|
|
365
|
+
│ │ └── session.repository.ts
|
|
366
|
+
│ ├── services
|
|
367
|
+
│ │ ├── auth.service.ts
|
|
368
|
+
│ │ └── session.service.ts
|
|
369
|
+
│ ├── strategies
|
|
370
|
+
│ │ └── jwt.strategy.ts
|
|
371
|
+
│ └── auth.module.ts
|
|
372
|
+
│
|
|
373
|
+
├── common
|
|
374
|
+
│ ├── decorators
|
|
375
|
+
│ │ ├── current-user.decorator.ts
|
|
376
|
+
│ │ ├── public.decorator.ts
|
|
377
|
+
│ │ └── role.decorator.ts
|
|
378
|
+
│ ├── enums
|
|
379
|
+
│ │ └── role.enum.ts
|
|
380
|
+
│ ├── filters
|
|
381
|
+
│ │ └── all-exceptions.filter.ts
|
|
382
|
+
│ ├── interceptors
|
|
383
|
+
│ │ └── response.interceptor.ts
|
|
384
|
+
│ └── middlewares
|
|
385
|
+
│ └── logger.middleware.ts
|
|
386
|
+
│
|
|
387
|
+
├── prisma
|
|
388
|
+
│ ├── prisma.module.ts
|
|
389
|
+
│ └── prisma.service.ts
|
|
390
|
+
│
|
|
391
|
+
├── user
|
|
392
|
+
│ ├── controllers
|
|
393
|
+
│ │ └── user.controller.ts
|
|
394
|
+
│ ├── dtos
|
|
395
|
+
│ │ └── user.dto.ts
|
|
396
|
+
│ ├── entities
|
|
397
|
+
│ │ └── user.entity.ts
|
|
398
|
+
│ ├── repositories
|
|
399
|
+
│ │ └── user.repository.ts
|
|
400
|
+
│ ├── services
|
|
401
|
+
│ │ └── user.service.ts
|
|
402
|
+
│ └── user.module.ts
|
|
403
|
+
│
|
|
404
|
+
├── app.controller.spec.ts
|
|
405
|
+
├── app.controller.ts
|
|
406
|
+
├── app.module.ts
|
|
407
|
+
├── app.service.ts
|
|
408
|
+
└── main.ts
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
### Full Mode (Clean Architecture)
|
|
412
|
+
|
|
413
|
+
```
|
|
414
|
+
src
|
|
415
|
+
├── auth
|
|
416
|
+
│ ├── controllers
|
|
417
|
+
│ │ └── auth.controller.ts
|
|
418
|
+
│ ├── dtos
|
|
419
|
+
│ │ ├── create-session.dto.ts
|
|
420
|
+
│ │ ├── forgotPassword.dto.ts
|
|
421
|
+
│ │ ├── loginCredential.dto.ts
|
|
422
|
+
│ │ ├── refreshToken.dto.ts
|
|
423
|
+
│ │ ├── resetPassword.dto.ts
|
|
424
|
+
│ │ ├── sendOtp.dto.ts
|
|
425
|
+
│ │ └── verifyOtp.dto.ts
|
|
426
|
+
│ ├── entities
|
|
427
|
+
│ │ └── session.entity.ts
|
|
428
|
+
│ ├── guards
|
|
429
|
+
│ │ ├── jwt-auth.guard.ts
|
|
430
|
+
│ │ └── role.guard.ts
|
|
431
|
+
│ ├── mappers
|
|
432
|
+
│ │ └── session.mapper.ts
|
|
433
|
+
│ ├── persistence
|
|
434
|
+
│ │ └── session.repository.ts
|
|
435
|
+
│ ├── services
|
|
436
|
+
│ │ ├── auth.service.ts
|
|
437
|
+
│ │ └── session.service.ts
|
|
438
|
+
│ ├── strategies
|
|
439
|
+
│ │ └── jwt.strategy.ts
|
|
440
|
+
│ └── auth.module.ts
|
|
441
|
+
│
|
|
442
|
+
├── common
|
|
443
|
+
│ ├── decorators
|
|
444
|
+
│ │ ├── current-user.decorator.ts
|
|
445
|
+
│ │ ├── public.decorator.ts
|
|
446
|
+
│ │ └── role.decorator.ts
|
|
447
|
+
│ ├── enums
|
|
448
|
+
│ │ └── role.enum.ts
|
|
449
|
+
│ ├── filters
|
|
450
|
+
│ │ └── all-exceptions.filter.ts
|
|
451
|
+
│ ├── interceptors
|
|
452
|
+
│ │ └── response.interceptor.ts
|
|
453
|
+
│ └── middlewares
|
|
454
|
+
│ └── logger.middleware.ts
|
|
455
|
+
│
|
|
456
|
+
├── prisma
|
|
457
|
+
│ ├── prisma.module.ts
|
|
458
|
+
│ └── prisma.service.ts
|
|
459
|
+
│
|
|
460
|
+
├── user
|
|
461
|
+
│ ├── controllers
|
|
462
|
+
│ │ └── user.controller.ts
|
|
463
|
+
│ ├── dtos
|
|
464
|
+
│ │ └── user.dto.ts
|
|
465
|
+
│ ├── entities
|
|
466
|
+
│ │ └── user.entity.ts
|
|
467
|
+
│ ├── repositories
|
|
468
|
+
│ │ └── user.repository.ts
|
|
469
|
+
│ ├── services
|
|
470
|
+
│ │ └── user.service.ts
|
|
471
|
+
│ └── user.module.ts
|
|
472
|
+
│
|
|
473
|
+
├── app.controller.spec.ts
|
|
474
|
+
├── app.controller.ts
|
|
475
|
+
├── app.module.ts
|
|
476
|
+
├── app.service.ts
|
|
477
|
+
└── main.ts
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
## Complete Demo
|
|
481
|
+
|
|
482
|
+
🔥 A ready-to-run demo, including 3 linked entities, JWT Auth, Swagger, Docker and configurable ORM.
|
|
483
|
+
|
|
484
|
+
👉 See full documentation: [Demo Documentation](./DEMO.md)
|
|
485
|
+
|
|
486
|
+
## Usage Guide
|
|
487
|
+
|
|
488
|
+
### Quick Start (Light Mode)
|
|
489
|
+
|
|
490
|
+
```bash
|
|
491
|
+
# 1. Create a simple project
|
|
492
|
+
npx nestcraftx new my-api --light --orm prisma
|
|
493
|
+
|
|
494
|
+
# 2. Navigate to the project
|
|
495
|
+
cd my-api
|
|
496
|
+
|
|
497
|
+
# 3. Start the application
|
|
498
|
+
npm run start:dev
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
### Complete Configuration (Full Mode)
|
|
502
|
+
|
|
503
|
+
```bash
|
|
504
|
+
# 1. Launch with interactive interface
|
|
505
|
+
npx nestcraftx new my-project
|
|
506
|
+
|
|
507
|
+
# 2. Answer the questions:
|
|
508
|
+
# - Project name
|
|
509
|
+
# - Database choice
|
|
510
|
+
# - ORM configuration
|
|
511
|
+
# - Entities and relationships
|
|
512
|
+
# - Auth and Swagger
|
|
513
|
+
|
|
514
|
+
# 3. Start
|
|
515
|
+
cd my-project
|
|
516
|
+
npm run start:dev
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
### Demonstration Project
|
|
520
|
+
|
|
521
|
+
```bash
|
|
522
|
+
# Generate a complete blog project (interactive mode)
|
|
523
|
+
nestcraftx demo
|
|
524
|
+
|
|
525
|
+
# Or with direct options
|
|
526
|
+
nestcraftx demo --light --orm prisma --auth --swagger
|
|
527
|
+
|
|
528
|
+
# Navigate and start
|
|
529
|
+
cd blog-demo
|
|
530
|
+
npm run start:dev
|
|
531
|
+
|
|
532
|
+
# Access Swagger UI
|
|
533
|
+
open http://localhost:3000/api/docs
|
|
534
|
+
```
|
|
535
|
+
|
|
536
|
+
**What the demo project includes:**
|
|
537
|
+
|
|
538
|
+
- Complete Clean Architecture (or LIGHT depending on option)
|
|
539
|
+
- 3 pre-configured entities: User, Post, Comment
|
|
540
|
+
- Relationships between entities (User → Post, Post ↔ Comment)
|
|
541
|
+
- JWT Auth with /auth/register and /auth/login endpoints
|
|
542
|
+
- Business endpoints: /users, /posts, /comments
|
|
543
|
+
- Automatic Swagger documentation
|
|
544
|
+
- Docker & Docker Compose configured
|
|
545
|
+
- ORM configuration of your choice (Prisma, TypeORM, Mongoose)
|
|
546
|
+
|
|
547
|
+
---
|
|
548
|
+
|
|
549
|
+
## Roadmap
|
|
550
|
+
|
|
551
|
+
### Version 0.2.x — Stabilization
|
|
552
|
+
|
|
553
|
+
- [x] Light & Full architectures
|
|
554
|
+
- [x] Interactive CLI
|
|
555
|
+
- [x] Multi-ORM support (Prisma / TypeORM / Mongoose)
|
|
556
|
+
- [ ] Comprehensive documentation & realistic examples
|
|
557
|
+
|
|
558
|
+
### Version 0.3.0 — Developer Experience
|
|
559
|
+
|
|
560
|
+
- [ ] `generate` command (scaffold modules/entities into existing projects)
|
|
561
|
+
- [ ] SQLite support for zero-config demos & prototyping
|
|
562
|
+
- [ ] Enhanced error handling & colored terminal logs
|
|
563
|
+
|
|
564
|
+
### Version 0.4.0 — Production Readiness
|
|
565
|
+
|
|
566
|
+
- [ ] Pluggable session strategies (In-memory / Database / Redis)
|
|
567
|
+
- [ ] Advanced data seeding templates
|
|
568
|
+
- [ ] Project presets (API Only / Auth / Full CRUD)
|
|
569
|
+
|
|
570
|
+
### Version 1.0.0 — Stable Release
|
|
571
|
+
|
|
572
|
+
- [ ] TypeScript-native CLI
|
|
573
|
+
- [ ] Enforced conventions & stable API contracts
|
|
574
|
+
- [ ] Official documentation website
|
|
575
|
+
- [ ] Long-term support (LTS) guarantees
|
|
576
|
+
|
|
577
|
+
---
|
|
578
|
+
|
|
579
|
+
## Contributing
|
|
580
|
+
|
|
581
|
+
Want to improve NestCraftX? Contributions are welcome!
|
|
582
|
+
|
|
583
|
+
### How to Contribute
|
|
584
|
+
|
|
585
|
+
1. Fork the project
|
|
586
|
+
2. Create a branch for your feature (`git checkout -b feature/AmazingFeature`)
|
|
587
|
+
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
|
|
588
|
+
4. Push to the branch (`git push origin feature/AmazingFeature`)
|
|
589
|
+
5. Open a Pull Request
|
|
590
|
+
|
|
591
|
+
### Open an Issue
|
|
592
|
+
|
|
593
|
+
Found bugs? Have ideas? Open an issue on GitHub!
|
|
594
|
+
|
|
595
|
+
### Developers
|
|
596
|
+
|
|
597
|
+
To develop locally:
|
|
598
|
+
|
|
599
|
+
```bash
|
|
600
|
+
git clone https://github.com/august-dev-pro/NestCraftX.git
|
|
601
|
+
cd NestCraftX
|
|
602
|
+
npm install
|
|
603
|
+
npm link
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
---
|
|
607
|
+
|
|
608
|
+
## License
|
|
609
|
+
|
|
610
|
+
MIT © [Ablanhou Augustin Selete](https://github.com/august-dev-pro)
|
|
611
|
+
|
|
612
|
+
Free for personal and commercial use.
|
|
613
|
+
|
|
614
|
+
---
|
|
615
|
+
|
|
616
|
+
## Thanks
|
|
617
|
+
|
|
618
|
+
Thanks to all contributors and the NestJS community!
|
|
619
|
+
|
|
620
|
+
**Made with ❤️ for the backend developer community**
|
|
621
|
+
|
|
622
|
+
---
|
|
623
|
+
|
|
624
|
+
## Contact & Support
|
|
625
|
+
|
|
626
|
+
- 📧 GitHub Issues: [Open an issue](https://github.com/august-dev-pro/NestCraftX/issues)
|
|
627
|
+
- 🌐 Repository: [NestCraftX on GitHub](https://github.com/august-dev-pro/NestCraftX)
|
|
628
|
+
- ⭐ If this project helps you, please consider giving it a star!
|
|
629
|
+
|
|
630
|
+
---
|
|
631
|
+
|
|
632
|
+
**NestCraftX v0.2.5** - Clean Architecture Made Simple
|
|
633
|
+
|
|
634
|
+
For more information:
|
|
635
|
+
|
|
636
|
+
- [Complete Usage Guide](./CLI_USAGE.md)
|
|
637
|
+
- [Migration Guide](./MIGRATION_GUIDE.md)
|
|
638
|
+
- [Detailed Changelog](./CHANGELOG.md)
|