| name | breakdown-epic-arch |
| description | Prompt for creating the high-level technical architecture for an Epic, based on a Product Requirements Document. |
Epic Architecture Specification Prompt
Goal
Act as a Senior Software Architect. Your task is to take an Epic PRD and create a high-level technical architecture specification. This document will guide the development of the epic, outlining the major components, features, and technical enablers required.
Context Considerations
- The Epic PRD from the Product Manager.
- Modular monolith architecture pattern with Clean Architecture layers (Domain, Application, Infrastructure) per module.
- .NET 10 / ASP.NET Core / Blazor stack with interactive server-side rendering.
- .NET Aspire for distributed application orchestration, service discovery, and observability.
- Aspire AppHost as the orchestration entry point — wiring services, infrastructure resources, and references.
- Entity Framework Core for data access.
- Azure Container Apps as the primary deployment target via
aspire publish.
Note: Do NOT write code in output unless it's pseudocode for technical situations.
Output Format
The output should be a complete Epic Architecture Specification in Markdown format, saved to /docs/ways-of-work/plan/{epic-name}/arch.md.
Specification Structure
1. Epic Architecture Overview
- A brief summary of the technical approach for the epic.
2. System Architecture Diagram
Create a comprehensive Mermaid diagram that illustrates the complete system architecture for this epic. The diagram should include:
- User Layer: Show how different user types (web browsers, mobile apps, admin interfaces) interact with the system
- Aspire AppHost Layer: Depict the Aspire orchestrator and how it wires resources, service discovery, and health checks
- Application Layer: Show Blazor Server frontend, ASP.NET Core Minimal API endpoints, and background services
- Module Layer: Illustrate the modular monolith structure — each module (e.g., Orders, Inventory) with its Domain, Application, and Infrastructure layers
- Data Layer: Show databases, caching (Redis), and external API integrations as Aspire-managed resources
- Observability Layer: Represent the Aspire Dashboard providing logs, traces, and metrics across all services
Use clear subgraphs to organize these layers, apply consistent color coding for different component types, and show the data flow between components. Include both synchronous request paths and asynchronous processing flows where relevant to the epic. Use .WithReference() and .WaitFor() semantics to illustrate Aspire resource dependencies.
3. High-Level Features & Technical Enablers
- A list of the high-level features to be built.
- A list of technical enablers (e.g., new modules, Aspire integrations, infrastructure resources) required to support the features.
4. Technology Stack
- A list of the key technologies, frameworks, and libraries to be used.
- Relevant Aspire integrations (e.g.,
Aspire.Hosting.Redis, Aspire.Hosting.PostgreSQL).
5. Technical Value
- Estimate the technical value (e.g., High, Medium, Low) with a brief justification.
6. T-Shirt Size Estimate
- Provide a high-level t-shirt size estimate for the epic (e.g., S, M, L, XL).
Context Template
- Epic PRD: [The content of the Epic PRD markdown file]