Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions architectures/clean-architecture/data-flow.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ version: Latest
tags: [architecture, best-practices]
ai_role: System Architect
last_updated: 2026-03-22
description: AI agent blueprint constraint
topic: Clean-architecture
complexity: Architect
last_evolution: 2026-03-22
vibe_coding_ready: true
---

---
Expand Down
5 changes: 0 additions & 5 deletions architectures/clean-architecture/folder-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ version: Latest
tags: [architecture, best-practices]
ai_role: System Architect
last_updated: 2026-03-22
description: AI agent blueprint constraint
topic: Clean-architecture
complexity: Architect
last_evolution: 2026-03-22
vibe_coding_ready: true
---

---
Expand Down
12 changes: 5 additions & 7 deletions architectures/clean-architecture/trade-offs.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
---
description: Vibe coding guidelines and architectural constraints for Clean Architecture within the Architecture domain.
tags: [clean-architecture, architecture, best-practices, architecture]
topic: Clean Architecture
complexity: Architect
last_evolution: 2026-03-29
vibe_coding_ready: true
technology: Clean Architecture
domain: Architecture
level: Senior/Architect
version: Latest
tags: [clean-architecture, architecture, best-practices, architecture]
ai_role: Senior Clean Architecture Expert
last_updated: 2026-03-29---# Clean Architecture - Trade-offs
last_updated: 2026-03-29
---

# Clean Architecture - Trade-offs
## Pros, Cons, and System Constraints

### Pros
Expand Down
12 changes: 5 additions & 7 deletions architectures/cqrs/data-flow.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
---
description: Vibe coding guidelines and architectural constraints for CQRS within the Architecture domain.
tags: [cqrs, architecture, best-practices, architecture]
topic: CQRS
complexity: Architect
last_evolution: 2026-03-29
vibe_coding_ready: true
technology: CQRS
domain: Architecture
level: Senior/Architect
version: Latest
tags: [cqrs, architecture, best-practices, architecture]
ai_role: Senior CQRS Expert
last_updated: 2026-03-29---# CQRS - Data Flow
last_updated: 2026-03-29
---

# CQRS - Data Flow
## Request and Event Lifecycle

```mermaid
Expand Down
12 changes: 5 additions & 7 deletions architectures/cqrs/folder-structure.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
---
description: Vibe coding guidelines and architectural constraints for CQRS within the Architecture domain.
tags: [cqrs, architecture, best-practices, architecture]
topic: CQRS
complexity: Architect
last_evolution: 2026-03-29
vibe_coding_ready: true
technology: CQRS
domain: Architecture
level: Senior/Architect
version: Latest
tags: [cqrs, architecture, best-practices, architecture]
ai_role: Senior CQRS Expert
last_updated: 2026-03-29---# CQRS - Folder Structure
last_updated: 2026-03-29
---

# CQRS - Folder Structure
## Layering publisher/subscriber logic

```mermaid
Expand Down
1 change: 0 additions & 1 deletion architectures/cqrs/readme.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---

technology: CQRS (Command Query Responsibility Segregation)
domain: Architecture
level: Senior/Architect
Expand Down
12 changes: 5 additions & 7 deletions architectures/cqrs/trade-offs.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
---
description: Vibe coding guidelines and architectural constraints for CQRS within the Architecture domain.
tags: [cqrs, architecture, best-practices, architecture]
topic: CQRS
complexity: Architect
last_evolution: 2026-03-29
vibe_coding_ready: true
technology: CQRS
domain: Architecture
level: Senior/Architect
version: Latest
tags: [cqrs, architecture, best-practices, architecture]
ai_role: Senior CQRS Expert
last_updated: 2026-03-29---# CQRS - Trade-offs
last_updated: 2026-03-29
---

# CQRS - Trade-offs
## Pros, Cons, and System Constraints

### Pros
Expand Down
12 changes: 5 additions & 7 deletions architectures/domain-driven-design/data-flow.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
---
description: Vibe coding guidelines and architectural constraints for DDD within the Architecture domain.
tags: [ddd, architecture, best-practices, architecture]
topic: DDD
complexity: Architect
last_evolution: 2026-03-29
vibe_coding_ready: true
technology: DDD
domain: Architecture
level: Senior/Architect
version: Latest
tags: [ddd, architecture, best-practices, architecture]
ai_role: Senior DDD Expert
last_updated: 2026-03-29---# Domain-Driven Design - Data Flow
last_updated: 2026-03-29
---

# Domain-Driven Design - Data Flow
## Request and Event Lifecycle

```mermaid
Expand Down
12 changes: 5 additions & 7 deletions architectures/domain-driven-design/folder-structure.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
---
description: Vibe coding guidelines and architectural constraints for DDD within the Architecture domain.
tags: [ddd, architecture, best-practices, architecture]
topic: DDD
complexity: Architect
last_evolution: 2026-03-29
vibe_coding_ready: true
technology: DDD
domain: Architecture
level: Senior/Architect
version: Latest
tags: [ddd, architecture, best-practices, architecture]
ai_role: Senior DDD Expert
last_updated: 2026-03-29---# Domain-Driven Design - Folder Structure
last_updated: 2026-03-29
---

# Domain-Driven Design - Folder Structure
## Layering logic

```mermaid
Expand Down
66 changes: 59 additions & 7 deletions architectures/domain-driven-design/implementation-guide.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
---
description: Vibe coding guidelines and architectural constraints for DDD within the Architecture domain.
tags: [ddd, architecture, best-practices, architecture]
topic: DDD
complexity: Architect
last_evolution: 2026-03-29
vibe_coding_ready: true
technology: DDD
domain: Architecture
level: Senior/Architect
version: Latest
tags: [ddd, architecture, best-practices, architecture]
ai_role: Senior DDD Expert
last_updated: 2026-03-29---# Domain-Driven Design - Implementation Guide
last_updated: 2026-03-29
---

# Domain-Driven Design - Implementation Guide
## Code patterns and Anti-patterns

### Entity Relationships
Expand All @@ -29,3 +27,57 @@ classDiagram

### Rules
- Ubiquitous language must be strictly used in code.

### 1. Anemic Domain Model

### ❌ Bad Practice
```typescript
class Order {
public id: string;
public totalAmount: number;
public items: OrderItem[];
public status: string;
}

class OrderService {
public addDiscount(order: Order, discount: number) {
if (order.status === 'PENDING') {
order.totalAmount -= discount;
}
}
}
```

### ⚠️ Problem
This is an anemic domain model. The `Order` entity is merely a data holder with public setters, and all the business logic is stripped out and placed in an external `OrderService`. This violates encapsulation, makes the system harder to reason about, and leads to business rules being scattered across multiple services.

### ✅ Best Practice
```typescript
class Order {
private id: string;
private totalAmount: number;
private items: OrderItem[];
private status: 'PENDING' | 'PAID' | 'SHIPPED';

constructor(id: string, items: OrderItem[]) {
this.id = id;
this.items = items;
this.status = 'PENDING';
this.calculateTotal();
}

public applyDiscount(discount: number): void {
if (this.status !== 'PENDING') {
throw new Error('Cannot apply discount to non-pending order.');
}
this.totalAmount -= discount;
}

private calculateTotal(): void {
// calculation logic
}
}
```

### 🚀 Solution
Create rich domain models. Business logic and rules that belong to an entity should be encapsulated within the entity itself. The entity should protect its invariants and expose business-meaningful methods (like `applyDiscount`) instead of public setters.
6 changes: 1 addition & 5 deletions architectures/domain-driven-design/readme.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
---
description: Vibe coding guidelines and architectural constraints for Domain-Driven Design within the Architecture domain.
technology: Domain-Driven Design
domain: Architecture
level: Senior/Architect
version: Agnostic
tags: [architecture, system-design, domain-driven-design, best-practices]
ai_role: Senior Architect
last_updated: 2026-03-22
topic: DDD
complexity: Architect
last_evolution: 2026-03-29
vibe_coding_ready: true---
---


<div align="center">
Expand Down
12 changes: 5 additions & 7 deletions architectures/domain-driven-design/trade-offs.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
---
description: Vibe coding guidelines and architectural constraints for DDD within the Architecture domain.
tags: [ddd, architecture, best-practices, architecture]
topic: DDD
complexity: Architect
last_evolution: 2026-03-29
vibe_coding_ready: true
technology: DDD
domain: Architecture
level: Senior/Architect
version: Latest
tags: [ddd, architecture, best-practices, architecture]
ai_role: Senior DDD Expert
last_updated: 2026-03-29---# Domain-Driven Design - Trade-offs
last_updated: 2026-03-29
---

# Domain-Driven Design - Trade-offs
## Pros, Cons, and System Constraints

### Pros
Expand Down
10 changes: 3 additions & 7 deletions architectures/event-driven-architecture/data-flow.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
---
description: Vibe coding guidelines for the asynchronous request and data flow lifecycle in an Event-Driven Architecture (EDA).
technology: Event-Driven Architecture
domain: Architecture
complexity: Architect
last_evolution: 2026-03-27
vibe_coding_ready: true
tags: [eda, data-flow, sequence-diagram, asynchronous, messaging, event-lifecycle]
topic: Event-Driven Data Flow
level: Senior/Architect
version: Latest
tags: [eda, data-flow, sequence-diagram, asynchronous, messaging, event-lifecycle]
ai_role: Senior Event-Driven Architecture Expert
last_updated: 2026-03-29---
last_updated: 2026-03-29
---


<div align="center">
Expand Down
10 changes: 3 additions & 7 deletions architectures/event-driven-architecture/folder-structure.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
---
description: Vibe coding guidelines for the folder structure and structural hierarchy of Event-Driven Architecture (EDA) projects.
technology: Event-Driven Architecture
domain: Architecture
complexity: Architect
last_evolution: 2026-03-27
vibe_coding_ready: true
tags: [eda, folder-structure, architecture-hierarchy, backend, microservices]
topic: Event-Driven Folder Structure
level: Senior/Architect
version: Latest
tags: [eda, folder-structure, architecture-hierarchy, backend, microservices]
ai_role: Senior Event-Driven Architecture Expert
last_updated: 2026-03-29---
last_updated: 2026-03-29
---


<div align="center">
Expand Down
10 changes: 3 additions & 7 deletions architectures/event-driven-architecture/implementation-guide.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
---
description: Vibe coding implementation guidelines, strict rules, code patterns, and constraints for implementing Event-Driven Architecture (EDA) using 2026 standards.
technology: Event-Driven Architecture
domain: Architecture
complexity: Architect
last_evolution: 2026-03-27
vibe_coding_ready: true
tags: [eda, implementation-guide, kafka, microservices, typescript, nestjs, architecture-patterns]
topic: Event-Driven Implementation Guide
level: Senior/Architect
version: Latest
tags: [eda, implementation-guide, kafka, microservices, typescript, nestjs, architecture-patterns]
ai_role: Senior Event-Driven Architecture Expert
last_updated: 2026-03-29---
last_updated: 2026-03-29
---


<div align="center">
Expand Down
10 changes: 3 additions & 7 deletions architectures/event-driven-architecture/readme.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
---
description: Vibe coding guidelines and architectural constraints for Event-Driven Architecture (EDA) within the Architecture domain.
technology: Event-Driven Architecture
domain: Architecture
complexity: Architect
last_evolution: 2026-03-27
vibe_coding_ready: true
tags: [eda, event-driven, architecture, pub-sub, asynchronous, messaging, kafka, rabbitmq, system-design]
topic: Event-Driven Architecture
level: Senior/Architect
version: Latest
tags: [eda, event-driven, architecture, pub-sub, asynchronous, messaging, kafka, rabbitmq, system-design]
ai_role: Senior Event-Driven Architecture Expert
last_updated: 2026-03-29---
last_updated: 2026-03-29
---


<div align="center">
Expand Down
10 changes: 3 additions & 7 deletions architectures/event-driven-architecture/trade-offs.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
---
description: Vibe coding guidelines and constraints for the trade-offs, pros, cons, and anti-patterns of Event-Driven Architecture (EDA).
technology: Event-Driven Architecture
domain: Architecture
complexity: Architect
last_evolution: 2026-03-27
vibe_coding_ready: true
tags: [eda, trade-offs, architecture, messaging, kafka]
topic: Event-Driven Trade-offs
level: Senior/Architect
version: Latest
tags: [eda, trade-offs, architecture, messaging, kafka]
ai_role: Senior Event-Driven Architecture Expert
last_updated: 2026-03-29---
last_updated: 2026-03-29
---


<div align="center">
Expand Down
Loading
Loading