1---2name: architecture3description: Design or review .NET solution architecture across modular monoliths, clean architecture, vertical slices, microservices, DDD, CQRS, and cloud-native boundaries without over-engineering. USE FOR: .NET architecture choices; layer and domain boundary review; service decomposition; clean architecture, vertical slice, DDD, CQRS, and modular monolith decisions. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.4---56# .NET Architecture78## Trigger On910- choosing architecture for a new or evolving .NET system11- reviewing layer boundaries, domain boundaries, or service decomposition12- deciding whether clean architecture, vertical slices, CQRS, or microservices are justified1314## Workflow15161. Start from business capability boundaries and change frequency, not from a preferred diagram style.172. Use simple modular monolith patterns by default, and move to microservices only when team autonomy, scale, or deployment boundaries justify the added operational cost.183. Apply DDD and CQRS where business rules are genuinely complex; avoid forcing aggregates and command pipelines into CRUD-heavy code with no payoff.194. Keep dependencies flowing inward when using clean architecture, but avoid creating extra projects that add ceremony without ownership clarity.205. Make integration boundaries explicit: contracts, storage ownership, messaging, consistency model, and observability expectations.216. Use `aspire` when local orchestration, service discovery, and developer observability are part of the architecture story.2223## Deliver2425- an architecture direction that matches system complexity26- clear project and dependency boundaries27- migration notes or tradeoffs when changing an existing structure2829## Validate3031- the proposed structure reduces rather than increases accidental complexity32- data ownership and integration paths are explicit33- the architecture is testable and operable, not just diagram-friendly3435## References3637- [references/patterns.md](references/patterns.md) - detailed implementations of Clean Architecture, Vertical Slices, DDD, CQRS, Modular Monolith, and Microservices with C# 12+ examples38- [references/anti-patterns.md](references/anti-patterns.md) - common architectural mistakes including over-abstraction, anemic domain models, premature microservices, and cargo cult patterns