clean-ddd-hexagonal

Enforces DDD and Hexagonal architecture boundaries for backend systems.

1|1|Updated Apr 16, 2026
One-click install
npx skills add https://github.com/iCesofT/awesome-ai --skill clean-ddd-hexagonal-icesoft
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: clean-ddd-hexagonal
Source: https://github.com/iCesofT/awesome-ai/tree/main/agents/skills/clean-ddd-hexagonal
Command: npx skills add https://github.com/iCesofT/awesome-ai --skill clean-ddd-hexagonal-icesoft

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Proactively apply when designing APIs, microservices, or scalable backend structure. Triggers on DDD, Clean Architecture, Hexagonal, ports and adapters, entities, value objects, domain events, CQRS, event sourcing, repository pattern, use cases, onion architecture, outbox pattern. Use when working with domain models, aggregates, repositories, or bounded contexts. Clean Architecture + DDD + Hexagonal patterns for backend services, language-agnostic (Go, Rust, Python, TypeScript, Java, C#).

Core Features & Use Cases

  • Provides a structured approach combining DDD, Clean Architecture, and Hexagonal patterns to keep domain logic pure and decoupled from infrastructure.
  • Defines clear boundaries (Domain, Application, Infrastructure) and ports/adapters to enable easy testing, replacement, and evolution of components.
  • Supports common patterns (CQRS, Event Sourcing, Outbox) and guidance for organizing aggregates, repositories, and bounded contexts.

Quick Start

Integrate these patterns into your design sessions to create robust, maintainable backends.

Frequently Asked Questions about clean-ddd-hexagonal

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

FAQPage Schema
How do I structure backend systems using DDD and hexagonal architecture patterns?

Structure backend systems using DDD and hexagonal architecture by enforcing clean architecture boundaries across domain models, aggregates, repositories, bounded contexts, and ports and adapters to keep domain logic decoupled from infrastructure.

What is the best way to implement CQRS and event sourcing in a microservices backend?

Implement CQRS and event sourcing in a microservices backend by applying clean architecture boundaries and utilizing the outbox pattern, ensuring domain logic remains pure while managing infrastructure dependencies through defined ports and adapters.

Does clean architecture with DDD and hexagonal patterns work with Go, Rust, and TypeScript?

Clean architecture with DDD and hexagonal patterns is language-agnostic and works across Go, Rust, Python, TypeScript, Java, and C#, providing inward-dependency rules and structural guidance regardless of the backend technology stack.

How do I separate domain logic from infrastructure when designing scalable APIs?

Separate domain logic from infrastructure when designing scalable APIs by defining clear boundaries across Domain, Application, and Infrastructure layers, using the ports and adapters strategy to enable easy testing and component replacement.

When should I use the outbox pattern with event sourcing in bounded contexts?

Use the outbox pattern with event sourcing in bounded contexts when you need to reliably publish domain events while maintaining strict clean architecture boundaries and inward-dependency rules within your microservices architecture.