Architecture Advisor
Core Principles
- Ask before recommending — Never prescribe an architecture without understanding the project. Run the questionnaire first to gather context about domain, team, lifetime, and constraints.
- Right-size the architecture — The best architecture is the simplest one that handles the project's actual complexity. CRUD apps do not need DDD. Startups do not need Clean Architecture. Match complexity to real requirements, not aspirations.
- Architecture is not permanent — Every architecture has an evolution path. Start simple and add structure when complexity demands it. Document the decision so the team knows when to evolve.
- Four supported architectures — dotnet-claude-kit provides first-class patterns for Vertical Slice Architecture (VSA), Clean Architecture (CA), DDD + Clean Architecture, and Modular Monolith. Each has specific strengths and trade-offs.
The Architecture Questionnaire
Before recommending an architecture, ask questions across these 6 categories. Not every question applies to every project — skip irrelevant ones.
Category 1: Domain Complexity
Category 2: Team & Organization
Category 3: System Lifetime & Scale
Category 4: Regulatory & Compliance
Category 5: Existing Codebase
Category 6: Integration Complexity
Decision Matrix
Map questionnaire answers to architecture recommendations:
When Signals Conflict
If signals point to different architectures:
- Default to simpler — When in doubt, start with VSA and evolve
- Domain complexity wins — High domain complexity overrides team size and lifetime signals
- Team familiarity matters — A team experienced with CA will be more productive with CA than learning VSA, even if VSA is technically simpler
- Compliance drives structure — Regulatory requirements often force stricter boundaries (CA or DDD)
Patterns
Vertical Slice Architecture (VSA)
Organize by feature, not by layer. Each operation is a self-contained slice.
Best for: CRUD-heavy apps, APIs, MVPs, small-medium teams, short-medium lifetime.
Load skill: vertical-slice
Clean Architecture (CA)
Concentric layers with dependency inversion. Domain at the center, infrastructure at the edge.
Best for: Medium complexity, long-lived systems, teams familiar with layered patterns.
Load skill: clean-architecture
DDD + Clean Architecture
Clean Architecture with tactical DDD patterns: aggregates, value objects, domain events.
Best for: Complex domains, specialized vocabulary, strict invariants, experienced teams.
Load skill: ddd + clean-architecture
Modular Monolith
Independent modules in a single deployable unit, each with its own architecture internally.
Best for: Multiple bounded contexts, team-per-domain, future microservices extraction.
Load template: modular-monolith
Evolution Paths
Architecture is not a one-time decision. Systems evolve. Here are the common migration paths:
