architecture-patterns

Align backend projects with Clean Architecture, Hexagonal Architecture, and Domain-Driven Design.

13|Updated Feb 4, 2026
One-click install
npx skills add https://github.com/abeldotam/bmad-viewer --skill architecture-patterns-abeldotam
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture-patterns
Source: https://github.com/abeldotam/bmad-viewer/tree/main/.agents/skills/architecture-patterns
Command: npx skills add https://github.com/abeldotam/bmad-viewer --skill architecture-patterns-abeldotam

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Designing and maintaining large-scale backend systems is challenging due to tangled dependencies, unclear boundaries, and brittle tests. This Skill codifies well-known architecture patterns (Clean Architecture, Hexagonal Architecture, and Domain-Driven Design) to create maintainable, testable, and scalable backends.

Core Features & Use Cases

  • Clear separation of concerns with explicit layer boundaries (Entities, Use Cases, Interface Adapters, and Frameworks)
  • Port-and-Adapter (Hexagonal) approach enabling testability and easy substitution of external systems
  • Domain-Driven Design guidance with strategic and tactical patterns (Bounded Contexts, Entities, Value Objects, Aggregates)
  • Practical refactoring guidance for legacy monoliths and for establishing architectural standards across teams
  • Concrete mapping of patterns to real-world architectures and example directory structures

Quick Start

Outline a step-by-step plan to apply Clean Architecture, Hexagonal Architecture, and DDD to an existing backend project.

Frequently Asked Questions about architecture-patterns

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

FAQPage Schema
How do I apply Clean Architecture and Hexagonal Architecture to an existing backend project?

To apply Clean Architecture and Hexagonal Architecture to an existing backend, outline a step-by-step plan to establish explicit layer boundaries like Entities and Use Cases, and introduce ports and adapters to decouple external systems. This structured approach ensures testability and maintainability during the transition.

What is the best way to refactor a legacy monolith using Domain-Driven Design?

The best way to refactor a legacy monolith using Domain-Driven Design is to apply strategic and tactical patterns, establishing bounded contexts to clarify boundaries, and modeling core logic with Entities, Value Objects, and Aggregates to untangle dependencies and improve structure.

How do ports and adapters work in backend design?

Ports and adapters in backend design work by isolating the core application logic from external systems. This Hexagonal approach defines ports as interfaces and adapters as implementations, enabling easy substitution of databases or frameworks and ensuring high testability without brittle dependencies.

Can I use this approach to establish architecture standards across multiple backend teams?

Yes, you can use this approach to establish architecture standards across multiple backend teams. It provides a structured alignment for Clean Architecture, Hexagonal Architecture, and DDD, enforcing consistent patterns, layer boundaries, and bounded contexts to coordinate scalable backend design across projects.

When should I not use Hexagonal Architecture for software design?

You should reconsider using Hexagonal Architecture for software design when a backend system is small or simple, as the overhead of defining explicit layers, ports, and adapters may introduce unnecessary complexity without providing sufficient maintainability or testing benefits.