nestjs-ddd-cli 2.0.1 โ†’ 2.0.2

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 (2) hide show
  1. package/README.md +351 -61
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,10 @@
1
1
  # NestJS DDD CLI
2
2
 
3
- A CLI tool for generating NestJS boilerplate code following pragmatic DDD/CQRS patterns.
3
+ ๐Ÿ—๏ธ **An opinionated CLI for pragmatic Domain-Driven Design with NestJS**
4
+
5
+ Stop writing boilerplate. Start building business logic.
6
+
7
+ Generate production-ready NestJS code following proven DDD/CQRS patterns with consistent structure and immutable architecture principles.
4
8
 
5
9
  ## Installation
6
10
 
@@ -76,94 +80,380 @@ ddd generate all User -m user-management
76
80
  | **Complete CRUD** | `ddd scaffold <name> -m <module>` | All files for an entity |
77
81
  | **All Entity Files** | `ddd generate all <name> -m <module>` | Entity + related files |
78
82
 
79
- ## Generated Structure
83
+ ## Quick Start
84
+
85
+ ### ๐Ÿš€ **Generate Your First Feature**
86
+
87
+ ```bash
88
+ # 1. Create complete scaffolding for a User management feature
89
+ ddd scaffold User -m user-management
80
90
 
91
+ # 2. Add business logic to the generated files
92
+ # 3. Update index.ts exports
93
+ # 4. Run migrations
94
+ # 5. Import module in app.module.ts
95
+ ```
96
+
97
+ **What you get in seconds:**
98
+ ```
99
+ ๐Ÿ“ modules/user-management/
100
+ โ”œโ”€โ”€ ๐Ÿ“„ user-management.module.ts โœ… NestJS module configured
101
+ โ”œโ”€โ”€ ๐Ÿ“ application/
102
+ โ”‚ โ”œโ”€โ”€ ๐Ÿ“ controllers/
103
+ โ”‚ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ user.controller.ts โœ… REST endpoints (GET, POST, PUT, DELETE)
104
+ โ”‚ โ”œโ”€โ”€ ๐Ÿ“ domain/
105
+ โ”‚ โ”‚ โ”œโ”€โ”€ ๐Ÿ“ entities/
106
+ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ user.entity.ts โœ… Domain entity with interfaces
107
+ โ”‚ โ”‚ โ””โ”€โ”€ ๐Ÿ“ usecases/
108
+ โ”‚ โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ create-user.usecase.ts โœ… Business logic for creation
109
+ โ”‚ โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ update-user.usecase.ts โœ… Business logic for updates
110
+ โ”‚ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ delete-user.usecase.ts โœ… Business logic for deletion
111
+ โ”‚ โ””โ”€โ”€ ๐Ÿ“ dto/
112
+ โ”‚ โ”œโ”€โ”€ ๐Ÿ“ requests/
113
+ โ”‚ โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ create-user.dto.ts โœ… Request validation schemas
114
+ โ”‚ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ update-user.dto.ts โœ… Update validation schemas
115
+ โ”‚ โ””โ”€โ”€ ๐Ÿ“ responses/
116
+ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ user.response.ts โœ… Response data contracts
117
+ โ””โ”€โ”€ ๐Ÿ“ infrastructure/
118
+ โ”œโ”€โ”€ ๐Ÿ“ repositories/
119
+ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ user.repository.ts โœ… CRUD operations + custom queries
120
+ โ”œโ”€โ”€ ๐Ÿ“ orm-entities/
121
+ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ user.orm-entity.ts โœ… Database schema (TypeORM)
122
+ โ””โ”€โ”€ ๐Ÿ“ mappers/
123
+ โ””โ”€โ”€ ๐Ÿ“„ user.mapper.ts โœ… Domain โ†” Database mapping
81
124
  ```
82
- modules/
83
- โ””โ”€โ”€ [module-name]/
84
- โ”œโ”€โ”€ application/
85
- โ”‚ โ”œโ”€โ”€ commands/ # CQRS command handlers
86
- โ”‚ โ”œโ”€โ”€ controllers/ # REST controllers
87
- โ”‚ โ”œโ”€โ”€ domain/
88
- โ”‚ โ”‚ โ”œโ”€โ”€ entities/ # Domain entities
89
- โ”‚ โ”‚ โ”œโ”€โ”€ events/ # Domain events
90
- โ”‚ โ”‚ โ”œโ”€โ”€ services/ # Domain services
91
- โ”‚ โ”‚ โ””โ”€โ”€ usecases/ # Use cases/command handlers
92
- โ”‚ โ”œโ”€โ”€ dto/
93
- โ”‚ โ”‚ โ”œโ”€โ”€ requests/ # Request DTOs
94
- โ”‚ โ”‚ โ””โ”€โ”€ responses/ # Response DTOs
95
- โ”‚ โ””โ”€โ”€ queries/ # CQRS query handlers
96
- โ”œโ”€โ”€ infrastructure/
97
- โ”‚ โ”œโ”€โ”€ mappers/ # Domain โ†” ORM mappers
98
- โ”‚ โ”œโ”€โ”€ orm-entities/ # Database entities
99
- โ”‚ โ””โ”€โ”€ repositories/ # Repository implementations
100
- โ””โ”€โ”€ [module-name].module.ts # NestJS module
101
- ```
102
-
103
- ## Examples
104
-
105
- ### Create a new feature from scratch
125
+
126
+ > **๐Ÿš€ From zero to production-ready in under 30 seconds**
127
+
128
+ ## Real-World Examples
129
+
130
+ ### ๐Ÿข **E-commerce Platform**
106
131
 
107
132
  ```bash
108
- # 1. Generate complete scaffolding for a Policy entity
109
- ddd scaffold Policy -m policies
133
+ # Generate order management
134
+ ddd scaffold Order -m orders
110
135
 
111
- # 2. Update the generated files with business logic
112
- # 3. Update index.ts files to export new classes
113
- # 4. Run the generated migration
114
- # 5. Import PoliciesModule in app.module.ts
136
+ # Add payment processing
137
+ ddd generate service PaymentProcessor -m orders
138
+ ddd generate event OrderPaid -m orders
139
+
140
+ # Add inventory checking
141
+ ddd generate query CheckStock -m inventory
142
+ ddd generate service StockValidator -m inventory
115
143
  ```
116
144
 
117
- ### Add a new entity to existing module
145
+ **Result:** Complete order system with payment processing and inventory management
146
+ ```
147
+ ๐Ÿ“ modules/orders/
148
+ โ”œโ”€โ”€ ๐Ÿ“„ orders.module.ts
149
+ โ”œโ”€โ”€ ๐Ÿ“ application/domain/services/
150
+ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ payment-processor.service.ts ๐Ÿ†• Payment business logic
151
+ โ”œโ”€โ”€ ๐Ÿ“ application/domain/events/
152
+ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ order-paid.event.ts ๐Ÿ†• Order payment event
153
+ โ””โ”€โ”€ ... (all CRUD operations)
154
+
155
+ ๐Ÿ“ modules/inventory/
156
+ โ”œโ”€โ”€ ๐Ÿ“ application/queries/
157
+ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ check-stock.handler.ts ๐Ÿ†• Stock checking query
158
+ โ”œโ”€โ”€ ๐Ÿ“ application/domain/services/
159
+ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ stock-validator.service.ts ๐Ÿ†• Stock validation logic
160
+ โ””โ”€โ”€ ... (all CRUD operations)
161
+ ```
162
+
163
+ ### ๐Ÿฅ **Healthcare System**
118
164
 
119
165
  ```bash
120
- # Generate entity with all related files
121
- ddd generate all Coverage -m policies
166
+ # Patient management
167
+ ddd scaffold Patient -m patients
168
+
169
+ # Medical records with events
170
+ ddd scaffold MedicalRecord -m medical-records
171
+ ddd generate event RecordCreated -m medical-records
172
+ ddd generate event RecordUpdated -m medical-records
173
+
174
+ # Appointment scheduling
175
+ ddd generate query FindAvailableSlots -m appointments
176
+ ddd generate service AppointmentScheduler -m appointments
122
177
  ```
123
178
 
124
- ### Add individual DDD components
179
+ ### ๐ŸŽ“ **Learning Management System**
125
180
 
126
181
  ```bash
127
- # Generate a new use case
128
- ddd generate usecase ApproveCoverage -m policies
182
+ # Course management
183
+ ddd scaffold Course -m courses
184
+ ddd generate service CourseEnrollment -m courses
185
+ ddd generate event StudentEnrolled -m courses
186
+
187
+ # Progress tracking
188
+ ddd generate query GetStudentProgress -m progress
189
+ ddd generate service ProgressCalculator -m progress
190
+ ```
129
191
 
130
- # Generate a domain service for business logic
131
- ddd generate service PolicyValidation -m policies
192
+ > **๐ŸŽฏ Each example follows identical patterns** - Learn once, apply everywhere.
132
193
 
133
- # Generate a domain event
134
- ddd generate event PolicyApproved -m policies
194
+ ## Philosophy & Principles
195
+
196
+ This CLI embodies **pragmatic Domain-Driven Design** with unwavering consistency:
197
+
198
+ ### ๐Ÿ”’ **Immutable Architecture**
199
+ - **"Code once, never touch"** - Each generated component remains unchanged after creation
200
+ - **Evolution over modification** - New requirements create new use cases, never modify existing ones
201
+ - **Predictable structure** - Every project follows identical patterns, enabling instant developer onboarding
202
+
203
+ ### ๐ŸŽฏ **Opinionated by Design**
204
+ - **Zero configuration fatigue** - One way to do things, the right way
205
+ - **Consistent naming** - PascalCase entities, kebab-case modules, predictable file names
206
+ - **Proven patterns** - Battle-tested DDD/CQRS structure from real-world enterprise applications
207
+
208
+ ### ๐Ÿš€ **Developer Experience First**
209
+ - **No bikeshedding** - Spend time on business logic, not folder structure debates
210
+ - **IDE-friendly** - Barrel exports, clear interfaces, TypeScript-first approach
211
+ - **Team consistency** - Every developer generates identical code structure
212
+
213
+ ### ๐Ÿ—๏ธ **Enterprise Ready**
214
+ - **Separation of concerns** - Domain logic isolated from infrastructure
215
+ - **CQRS compliance** - Commands for writes, queries for reads
216
+ - **Testable by default** - Clean interfaces enable easy unit testing
217
+
218
+ ## What Makes This Different?
219
+
220
+ ### ๐ŸŽจ **Structure That Scales**
221
+
222
+ Every module follows this **identical, battle-tested structure**:
135
223
 
136
- # Generate a query handler
137
- ddd generate query GetPolicyDetails -m policies
138
224
  ```
225
+ modules/
226
+ โ””โ”€โ”€ [feature-name]/ # ๐Ÿ  Feature boundary
227
+ โ”œโ”€โ”€ [feature-name].module.ts # ๐Ÿ”ง NestJS module wiring
228
+ โ”œโ”€โ”€ application/ # ๐Ÿ“‹ Application layer
229
+ โ”‚ โ”œโ”€โ”€ commands/ # โœ๏ธ CQRS commands (writes)
230
+ โ”‚ โ”‚ โ”œโ”€โ”€ create-[entity].command.ts # โ””โ”€ Create operations
231
+ โ”‚ โ”‚ โ”œโ”€โ”€ update-[entity].command.ts # โ””โ”€ Update operations
232
+ โ”‚ โ”‚ โ”œโ”€โ”€ delete-[entity].command.ts # โ””โ”€ Delete operations
233
+ โ”‚ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
234
+ โ”‚ โ”œโ”€โ”€ controllers/ # ๐ŸŒ HTTP/GraphQL endpoints
235
+ โ”‚ โ”‚ โ”œโ”€โ”€ [entity].controller.ts # โ””โ”€ REST API endpoints
236
+ โ”‚ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
237
+ โ”‚ โ”œโ”€โ”€ domain/ # ๐Ÿง  Pure business logic
238
+ โ”‚ โ”‚ โ”œโ”€โ”€ entities/ # ๐Ÿ“ฆ Business objects
239
+ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ [entity].entity.ts # โ””โ”€ Domain entity
240
+ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
241
+ โ”‚ โ”‚ โ”œโ”€โ”€ events/ # ๐ŸŽฏ Domain events
242
+ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ [entity]-created.event.ts # โ””โ”€ Event definitions
243
+ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
244
+ โ”‚ โ”‚ โ”œโ”€โ”€ services/ # โš™๏ธ Domain services
245
+ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ [entity].service.ts # โ””โ”€ Business rules
246
+ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
247
+ โ”‚ โ”‚ โ””โ”€โ”€ usecases/ # ๐ŸŽฌ Use case operations
248
+ โ”‚ โ”‚ โ”œโ”€โ”€ create-[entity].usecase.ts# โ””โ”€ Create business logic
249
+ โ”‚ โ”‚ โ”œโ”€โ”€ update-[entity].usecase.ts# โ””โ”€ Update business logic
250
+ โ”‚ โ”‚ โ”œโ”€โ”€ delete-[entity].usecase.ts# โ””โ”€ Delete business logic
251
+ โ”‚ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
252
+ โ”‚ โ”œโ”€โ”€ dto/ # ๐Ÿ“„ Data contracts
253
+ โ”‚ โ”‚ โ”œโ”€โ”€ requests/ # ๐Ÿ“ค Inbound data
254
+ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ create-[entity].dto.ts # โ””โ”€ Create request
255
+ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ update-[entity].dto.ts # โ””โ”€ Update request
256
+ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
257
+ โ”‚ โ”‚ โ”œโ”€โ”€ responses/ # ๐Ÿ“ฅ Outbound data
258
+ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ [entity].response.ts # โ””โ”€ Entity response
259
+ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
260
+ โ”‚ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
261
+ โ”‚ โ””โ”€โ”€ queries/ # ๐Ÿ” CQRS queries (reads)
262
+ โ”‚ โ”œโ”€โ”€ get-[entity].handler.ts # โ””โ”€ Single entity query
263
+ โ”‚ โ”œโ”€โ”€ list-[entities].handler.ts # โ””โ”€ Multiple entities query
264
+ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
265
+ โ””โ”€โ”€ infrastructure/ # ๐Ÿ—๏ธ Infrastructure layer
266
+ โ”œโ”€โ”€ mappers/ # ๐Ÿ”„ Data transformation
267
+ โ”‚ โ”œโ”€โ”€ [entity].mapper.ts # โ””โ”€ Domain โ†” ORM mapping
268
+ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
269
+ โ”œโ”€โ”€ orm-entities/ # ๐Ÿ—„๏ธ Database schema
270
+ โ”‚ โ”œโ”€โ”€ [entity].orm-entity.ts # โ””โ”€ TypeORM entity
271
+ โ”‚ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
272
+ โ””โ”€โ”€ repositories/ # ๐Ÿ’พ Data access
273
+ โ”œโ”€โ”€ [entity].repository.ts # โ””โ”€ Repository implementation
274
+ โ””โ”€โ”€ index.ts # โ””โ”€ Barrel exports
275
+ ```
276
+
277
+ > **๐ŸŽฏ Every feature looks identical** - No surprises, no confusion, just consistency.
139
278
 
140
- ## Philosophy
279
+ ### ๐Ÿง  **Smart Defaults & Conventions**
141
280
 
142
- This CLI follows the "code once, never touch" philosophy:
143
- - Each feature is immutable once written
144
- - Changes create new use cases, not modify existing ones
145
- - Boilerplate is predictable and consistent
146
- - Focus on business logic, not structure
281
+ ```bash
282
+ # Naming follows strict patterns
283
+ ddd generate entity UserProfile # โ†’ user-profile.entity.ts
284
+ ddd generate service OrderValidator # โ†’ order-validator.service.ts
285
+ ddd generate event PaymentProcessed # โ†’ payment-processed.event.ts
286
+ ```
287
+
288
+ **Built-in Intelligence:**
289
+ - **๐Ÿ”„ Barrel exports** - Automatic `index.ts` files for clean imports
290
+ - **๐Ÿ”’ TypeScript strict** - Zero `any` types, full type safety
291
+ - **๐Ÿ’‰ DI ready** - Injectable decorators configured
292
+ - **๐Ÿ“‹ Interface first** - Clear contracts between layers
293
+ - **๐Ÿ“ Predictable paths** - Same location every time
294
+
295
+ ### ๐Ÿ’ก **Enterprise Patterns**
296
+
297
+ ```typescript
298
+ // โœ… Commands (writes) - Tell, don't ask
299
+ @CommandHandler(CreateUserCommand)
300
+ export class CreateUserHandler {
301
+ async execute(command: CreateUserCommand): Promise<void> {
302
+ // Returns nothing - just does the work
303
+ }
304
+ }
305
+
306
+ // โœ… Queries (reads) - Ask, don't tell
307
+ @QueryHandler(GetUserQuery)
308
+ export class GetUserHandler {
309
+ async execute(query: GetUserQuery): Promise<UserResponse> {
310
+ // Returns data - no side effects
311
+ }
312
+ }
313
+
314
+ // โœ… Domain Events - Loose coupling
315
+ export class UserCreatedEvent implements IEvent {
316
+ constructor(public readonly userId: string) {}
317
+ }
318
+ ```
319
+
320
+ **Battle-tested principles:**
321
+ - **Command/Query Separation** - Writes vs reads clearly separated
322
+ - **Domain Events** - Decoupled communication between bounded contexts
323
+ - **Repository Pattern** - Abstract data access from business logic
324
+ - **Clean Architecture** - Dependencies point inward to domain
147
325
 
148
326
  ## After Generation
149
327
 
150
- 1. **Update index.ts files**: Add new classes to the barrel exports
151
- 2. **Add entity properties**: Define domain properties in entities and DTOs
152
- 3. **Update mappers**: Add field mappings between domain and ORM entities
153
- 4. **Run migrations**: Execute the generated migration files
154
- 5. **Import module**: Add module to app.module.ts imports
328
+ ### ๐Ÿ”ง **Your 5-Minute Setup Checklist:**
329
+
330
+ ```bash
331
+ # โœ… 1. Generated files are ready - Review structure
332
+ ls -la modules/your-feature/
333
+
334
+ # โœ… 2. Add business properties to entities
335
+ # Edit: application/domain/entities/[entity].entity.ts
336
+ # Add: name: string; email: string; etc.
337
+
338
+ # โœ… 3. Update DTOs with validation rules
339
+ # Edit: application/dto/requests/create-[entity].dto.ts
340
+ # Add: @IsEmail() email: string; @IsNotEmpty() name: string;
341
+
342
+ # โœ… 4. Configure database mappings
343
+ # Edit: infrastructure/orm-entities/[entity].orm-entity.ts
344
+ # Add: @Column() name: string; @Column() email: string;
345
+
346
+ # โœ… 5. Wire up the module
347
+ # Edit: app.module.ts
348
+ # Add: YourFeatureModule to imports array
349
+ ```
350
+
351
+ ### ๐ŸŽฏ **Focus on Business Value:**
352
+ ```typescript
353
+ // โœ… Write business rules in domain services
354
+ export class OrderValidator {
355
+ validateBusinessRules(order: Order): ValidationResult {
356
+ // Your domain logic here - not infrastructure concerns
357
+ }
358
+ }
359
+
360
+ // โœ… Add complex queries for reporting
361
+ @QueryHandler(GetMonthlyRevenueQuery)
362
+ export class GetMonthlyRevenueHandler {
363
+ async execute(query: GetMonthlyRevenueQuery) {
364
+ // Complex business queries - not CRUD
365
+ }
366
+ }
367
+
368
+ // โœ… Handle domain events for integration
369
+ @EventsHandler(OrderCreatedEvent)
370
+ export class OrderCreatedHandler {
371
+ async handle(event: OrderCreatedEvent) {
372
+ // Send emails, update analytics, etc.
373
+ }
374
+ }
375
+ ```
376
+
377
+ > **๐Ÿš€ From scaffolding to production in minutes, not days**
378
+
379
+ ## Why This CLI Exists
380
+
381
+ ### ๐Ÿ˜ค **The Problem**
382
+ - Endless debates about folder structure
383
+ - Inconsistent naming across team members
384
+ - Copy-pasting boilerplate between features
385
+ - Mixed patterns in the same codebase
386
+ - New developers spending weeks learning "our way"
387
+
388
+ ### ๐ŸŽฏ **The Solution**
389
+ - **One structure** that works for all features
390
+ - **Zero configuration** - works out of the box
391
+ - **Battle-tested patterns** from real enterprise apps
392
+ - **Instant onboarding** - same structure everywhere
393
+ - **Focus on business logic** instead of architecture decisions
155
394
 
156
- ## Development
395
+ ### ๐Ÿ† **The Result**
396
+ - 10x faster feature development
397
+ - Consistent codebase architecture
398
+ - Easy code reviews and maintenance
399
+ - New developers productive from day one
400
+ - No more "where does this file go?" questions
157
401
 
158
- To modify the CLI:
402
+ ---
403
+
404
+ ## Contributing & Development
405
+
406
+ ### ๐Ÿ”ง **Local Development**
159
407
 
160
408
  ```bash
161
- # Make changes
409
+ # Clone and setup
410
+ git clone https://github.com/eshe-huli/nestjs-ddd-cli
411
+ cd nestjs-ddd-cli
412
+ npm install
413
+
414
+ # Test changes locally
162
415
  npm run dev -- generate entity Test -m test
163
416
 
164
- # Rebuild
417
+ # Build for production
165
418
  npm run build
166
419
 
167
- # Test globally
420
+ # Test globally installed version
168
421
  ddd generate entity Test -m test
169
- ```
422
+ ```
423
+
424
+ ### ๐Ÿงช **Testing Your Changes**
425
+
426
+ ```bash
427
+ # Create a test project
428
+ mkdir test-project && cd test-project
429
+
430
+ # Test scaffolding
431
+ ddd scaffold Product -m inventory
432
+
433
+ # Verify structure matches expectations
434
+ tree modules/inventory/
435
+
436
+ # Test individual generators
437
+ ddd generate service ProductValidator -m inventory
438
+ ddd generate event ProductCreated -m inventory
439
+ ddd generate query GetProductsByCategory -m inventory
440
+ ```
441
+
442
+ ### ๐Ÿ“‹ **Template Structure**
443
+ ```
444
+ src/templates/
445
+ โ”œโ”€โ”€ ๐Ÿ“ entity/ # Domain entity templates
446
+ โ”œโ”€โ”€ ๐Ÿ“ service/ # Domain service templates
447
+ โ”œโ”€โ”€ ๐Ÿ“ event/ # Domain event templates
448
+ โ”œโ”€โ”€ ๐Ÿ“ query/ # Query handler templates
449
+ โ”œโ”€โ”€ ๐Ÿ“ usecase/ # Use case templates
450
+ โ”œโ”€โ”€ ๐Ÿ“ controller/ # Controller templates
451
+ โ”œโ”€โ”€ ๐Ÿ“ repository/ # Repository templates
452
+ โ””โ”€โ”€ ๐Ÿ“ ... (more templates)
453
+ ```
454
+
455
+ > **๐Ÿค Pull requests welcome!** Help make DDD development even better.
456
+
457
+ ## License
458
+
459
+ MIT - Build amazing things ๐Ÿš€
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nestjs-ddd-cli",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "CLI for generating NestJS DDD boilerplate code",
5
5
  "main": "dist/index.js",
6
6
  "bin": {