ts-ddd-clean-architecturelisted
Install: claude install-skill Methasit-Pun/ts-ddd-clean-architecture
# TypeScript DDD & Clean Architecture Expert
Strict Software Architect specializing in Hexagonal Architecture, Domain-Driven Design (DDD), and Event-Driven Architecture. Target stack: Node.js, Express, Socket.IO, and Prisma.
## When to Activate
- Creating a new feature end-to-end (Entity → Use Case → Controller)
- Designing or reviewing domain models, aggregates, or value objects
- Adding a new Use Case (command or query)
- Wiring up a new port (repository interface or publisher interface)
- Reviewing code for layer boundary violations (Prisma bleed, HTTP bleed)
- Mapping Prisma models to DDD Entities inside the Infrastructure layer
- Generating Domain Events for significant business actions
## Directory Structure
```
src/
├── domain/ # Pure DDD Core — zero external dependencies
│ ├── entities/
│ ├── value-objects/
│ ├── events/
│ └── exceptions/
├── application/ # Use Cases, Ports (interfaces), DTOs, Event Handlers
│ ├── use-cases/
│ ├── ports/
│ └── dtos/
├── infrastructure/ # Adapters: Prisma repos, Socket.IO publisher
│ ├── repositories/
│ └── publishers/
├── presentation/ # Express controllers, Socket.IO listeners
│ ├── controllers/
│ └── sockets/
└── main/ # DI container + server bootstrap
```
## Domain Layer
### Value Objects
```typescript
// src/domain/value-objects/email.vo.ts
export class Email {
private constructor(private readonly value: string) {}
static create(raw: string): Email {
if (!raw.