woltz-rich-domain
π―Skillfrom tarcisioandrade/rich-domain
woltz-rich-domain skill from tarcisioandrade/rich-domain
Installation
npx skills add https://github.com/tarcisioandrade/rich-domain --skill woltz-rich-domainSkill Details
Overview
A comprehensive TypeScript monorepo for Domain-Driven Design, providing enterprise-ready tools for building maintainable, scalable applications with clean architecture patterns. [](https://opensource.org/licenses/MIT) [](https://nodejs.org) [](https://www.typescriptlang.org/)
π¦ Packages
| Package | Version | Description |
| ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| [@woltz/rich-domain](./packages/rich-domain) | [](https://www.npmjs.com/package/@woltz/rich-domain) | Core DDD library with entities, aggregates, value objects, and automatic change tracking |
| [@woltz/rich-domain-prisma](./packages/rich-domain-prisma) | [](https://www.npmjs.com/package/@woltz/rich-domain-prisma) | Prisma adapter with Unit of Work and batch operations |
| [@woltz/rich-domain-typeorm](./packages/rich-domain-typeorm) | [](https://www.npmjs.com/package/@woltz/rich-domain-typeorm) | TypeORM adapter with transaction support |
| [@woltz/rich-domain-criteria-zod](./packages/rich-domain-criteria-zod) | [](https://www.npmjs.com/package/@woltz/rich-domain-criteria-zod) | Zod-based criteria builder for type-safe queries |
| [@woltz/rich-domain-cli](./packages/rich-domain-cli) | [](https://www.npmjs.com/package/@woltz/rich-domain-cli) | CLI for project scaffolding and code generation |
| [@woltz/rich-domain-export](./packages/rich-domain-export) | [](https://www.npmjs.com/package/@woltz/rich-domain-export) | Export data to @woltz/rich-domain repository |
π Quick Start
Installation
```bash
# Core library
npm install @woltz/rich-domain
# With your preferred ORM
npm install @woltz/rich-domain-prisma
# or
npm install @woltz/rich-domain-typeorm
# CLI tools
npm install -g @woltz/rich-domain-cli
```
Using the CLI
```bash
# Initialize a new project from template
rich-domain init my-app --template fullstack
# Generate domain from Prisma schema
rich-domain generate --schema prisma/schema.prisma
# Manually add entities
rich-domain add User name:string email:string --with-repo
```
Basic Example
```typescript
import { Aggregate, Entity, Id } from "@woltz/rich-domain";
import { z } from "zod";
// Define your domain model
class User extends Aggregate
protected static validation = {
schema: z.object({
id: z.custom
name: z.string(),
email: z.string().email(),
po