ddd-architecture

Implement Domain-Driven Design and Clean Architecture in TypeScript projects.

Updated Dec 30, 2025
One-click install
npx skills add https://github.com/haginot/ddd-boilerplate --skill ddd-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ddd-architecture
Source: https://github.com/haginot/ddd-boilerplate/tree/main/.claude/skills/ddd-architecture
Command: npx skills add https://github.com/haginot/ddd-boilerplate --skill ddd-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill provides a practical blueprint for implementing Domain-Driven Design and Clean Architecture in TypeScript projects, helping teams manage complexity through clear boundaries and patterns.

Core Features & Use Cases

  • Domain modeling guidance: how to structure aggregates, entities, value objects, and domain events.
  • Architecture governance: enforcing bounded contexts and inward-dependency rules across layers.
  • Example-driven patterns: concrete code snippets illustrating repositories, domain services, and application services.
  • Use Case: design a typical order management module with clear separation of concerns and testable boundaries.

Quick Start

Start by reviewing the DDD Architecture Skill guidelines and scaffold a TS project following the provided structure and examples.

Frequently Asked Questions about ddd-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement Domain-Driven Design in TypeScript?

Implementing Domain-Driven Design in TypeScript requires structuring aggregates, entities, value objects, and domain events. This skill provides concrete patterns and code examples to scaffold a TS project with clear domain modeling and testable boundaries.

What is the best way to structure a TypeScript project with Clean Architecture?

The best way to structure a TypeScript project with Clean Architecture is to enforce bounded contexts and inward-dependency rules across layers. This skill offers an example-driven blueprint to ensure architectural rules are consistently applied.

How do I set up repositories and domain services in TypeScript?

Setting up repositories and domain services in TypeScript is achieved through specific architectural patterns. This skill provides concrete code snippets illustrating these components alongside application services to ensure separation of concerns.

Can I use DDD patterns for a typical order management module in TS?

Yes, you can use DDD patterns for a typical order management module in TS. This skill demonstrates this exact use case, providing a practical blueprint to manage complexity through clear boundaries, testable layers, and separation of concerns.

Why use bounded contexts and aggregates in TypeScript applications?

Using bounded contexts and aggregates in TypeScript applications helps manage domain complexity by defining clear boundaries. This skill guides developers to align teams and consistently apply these DDD rules across typical TS application structures.