# 設計架構 (Design Architecture) 技能指南 ## 概述 `design-architecture` 是 Architect Pipeline 的核心步驟,用來基於 PRD 需求設計完整系統架構,產出單一嚴格輸出檔案 `docs/architecture/{feature}.md`。 ## 輸入與輸出 ### 輸入 - `docs/prd/{feature}.md` ### 輸出 - `docs/architecture/{feature}.md`(唯一檔案,所有交付物必須嵌入此檔案) ## 必備章節(18 個) 1. Overview 2. System Architecture 3. Service Boundaries 4. Data Flow 5. Database Schema 6. API Contract 7. Async / Queue Design 8. Consistency Model 9. Error Model 10. Security Boundaries 11. Integration Boundaries 12. Observability 13. Scaling Strategy 14. Non-Functional Requirements 15. Mermaid Diagrams 16. ADR 17. Risks 18. Open Questions ## 設計原則 1. **High Availability** — 設計容錯與復原力,勝過完美一致性 2. **Scalability** — 設計水平擴展,勝過垂直擴展 3. **Stateless First** — 偏好無狀態服務,外部化狀態到資料庫或快取 4. **API First** — 先定義合約再實作,API 是主要介面 5. **Event Driven First** — 偏好事件驅動溝通 6. **Async First** — 偏好非同步處理 ## 知識合約與可交付技能引用 - **知識合約**:13 個(system-decomposition、api-contract-design、data-modeling、distributed-system-basics、architecture-patterns、storage-knowledge、async-queue-design、error-model-design、security-boundary-design、consistency-transaction-design、integration-boundary-design、observability-design、migration-rollout-design) - **可交付技能**:5 個(generate_mermaid_diagram、design_database_schema、generate_openapi_spec、write_adr、evaluate_tech_stack) ## 防範佔位符規則 範例僅供說明用途。請勿重複使用範例中的佔位符元件、欄位、端點或結構,否則會與 PRD 要求不符。 ## 不應做的事 - 不改變 PRD 範圍或需求 - 不建立任務拆分或里程碑 - 不寫測試案例 - 不寫實作程式碼 - 不選擇特定函式庫或框架 - 不產生 `docs/architecture/{feature}.md` 以外的檔案