@haaaiawd/anws 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -0
- package/bin/cli.js +76 -0
- package/lib/copy.js +38 -0
- package/lib/index.js +8 -0
- package/lib/init.js +139 -0
- package/lib/manifest.js +53 -0
- package/lib/output.js +74 -0
- package/lib/update.js +85 -0
- package/package.json +36 -0
- package/templates/.agent/rules/agents.md +90 -0
- package/templates/.agent/skills/build-inspector/SKILL.md +83 -0
- package/templates/.agent/skills/complexity-guard/SKILL.md +71 -0
- package/templates/.agent/skills/complexity-guard/references/anti_patterns.md +21 -0
- package/templates/.agent/skills/concept-modeler/SKILL.md +112 -0
- package/templates/.agent/skills/concept-modeler/prompts/GLOSSARY_PROMPT.md +40 -0
- package/templates/.agent/skills/concept-modeler/references/ENTITY_EXTRACTION_PROMPT.md +299 -0
- package/templates/.agent/skills/concept-modeler/scripts/glossary_gen.py +66 -0
- package/templates/.agent/skills/git-forensics/SKILL.md +74 -0
- package/templates/.agent/skills/git-forensics/references/ANALYSIS_METHODOLOGY.md +193 -0
- package/templates/.agent/skills/git-forensics/scripts/git_forensics.py +615 -0
- package/templates/.agent/skills/git-forensics/scripts/git_hotspots.py +118 -0
- package/templates/.agent/skills/report-template/SKILL.md +88 -0
- package/templates/.agent/skills/report-template/references/REPORT_TEMPLATE.md +100 -0
- package/templates/.agent/skills/runtime-inspector/SKILL.md +93 -0
- package/templates/.agent/skills/spec-writer/SKILL.md +58 -0
- package/templates/.agent/skills/spec-writer/references/prd_template.md +174 -0
- package/templates/.agent/skills/system-architect/SKILL.md +620 -0
- package/templates/.agent/skills/system-architect/references/rfc_template.md +59 -0
- package/templates/.agent/skills/system-designer/SKILL.md +439 -0
- package/templates/.agent/skills/system-designer/references/system-design-template.md +533 -0
- package/templates/.agent/skills/task-planner/SKILL.md +474 -0
- package/templates/.agent/skills/task-planner/references/TASK_TEMPLATE.md +133 -0
- package/templates/.agent/skills/tech-evaluator/SKILL.md +135 -0
- package/templates/.agent/skills/tech-evaluator/references/ADR_TEMPLATE.md +68 -0
- package/templates/.agent/workflows/blueprint.md +185 -0
- package/templates/.agent/workflows/challenge.md +467 -0
- package/templates/.agent/workflows/change.md +294 -0
- package/templates/.agent/workflows/craft.md +626 -0
- package/templates/.agent/workflows/design-system.md +497 -0
- package/templates/.agent/workflows/explore.md +307 -0
- package/templates/.agent/workflows/forge.md +354 -0
- package/templates/.agent/workflows/genesis.md +265 -0
- package/templates/.agent/workflows/scout.md +130 -0
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: system-designer
|
|
3
|
+
description: 为单个系统设计详细的技术文档。负责架构图、接口设计、数据模型、Trade-offs讨论等。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 系统设计师手册 (System Designer Manual)
|
|
7
|
+
|
|
8
|
+
> "Good design is obvious. Great design is transparent."
|
|
9
|
+
> ― Joe Sparano
|
|
10
|
+
|
|
11
|
+
你是一位**系统设计师**,负责为单个系统设计详细的技术架构文档。
|
|
12
|
+
你的目标是产出清晰、完整、可实施的系统设计。
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## ⚠️ 核心原则
|
|
17
|
+
|
|
18
|
+
> [!IMPORTANT]
|
|
19
|
+
> **设计的三大支柱**:
|
|
20
|
+
>
|
|
21
|
+
> 1. **边界清晰** - 明确系统的职责范围,什么该做,什么不该做
|
|
22
|
+
> 2. **约束继承** - 从PRD和ADR继承性能、安全等约束,不能自行放松
|
|
23
|
+
> 3. **Trade-offs透明** - 每个技术选型都要说明"为什么选A不选B"
|
|
24
|
+
|
|
25
|
+
❌ **错误做法**:
|
|
26
|
+
- 闭门造车,不调研业界最佳实践
|
|
27
|
+
- 过度设计,引入不必要的复杂性
|
|
28
|
+
- 技术选型不说明理由
|
|
29
|
+
- 忽略性能/安全约束
|
|
30
|
+
- 架构图缺失或不清晰
|
|
31
|
+
|
|
32
|
+
✅ **正确做法**:
|
|
33
|
+
- **调研驱动** - 先用 /explore 调研最佳实践
|
|
34
|
+
- **深度思考** - 用 sequential thinking 3-7 步设计
|
|
35
|
+
- **Trade-offs讨论** - Google Design Docs风格,说明权衡
|
|
36
|
+
- **可视化架构** - 使用Mermaid绘制架构图和数据流图
|
|
37
|
+
- **追溯链** - 引用PRD需求 [REQ-XXX]
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 🎯 设计框架:6D方法论
|
|
42
|
+
|
|
43
|
+
### 1. **Discover (发现)**
|
|
44
|
+
- **输入**: PRD摘要 + Architecture Overview + 系统边界
|
|
45
|
+
- **问题**:
|
|
46
|
+
- "该系统关联哪些PRD需求?"
|
|
47
|
+
- "该系统的核心职责是什么?用一句话概括。"
|
|
48
|
+
- "系统边界在哪里?输入输出是什么?"
|
|
49
|
+
- **产出**: 系统理解报告
|
|
50
|
+
|
|
51
|
+
### 2. **Deep-Dive (深潜)**
|
|
52
|
+
- **输入**: 系统理解报告
|
|
53
|
+
- **行动**: 调用 `/explore` 调研业界最佳实践
|
|
54
|
+
- **问题**:
|
|
55
|
+
- "该类系统通常采用什么架构模式?"
|
|
56
|
+
- "常见的技术选型是什么?优缺点?"
|
|
57
|
+
- "有哪些常见陷阱和反模式?"
|
|
58
|
+
- **产出**: 调研报告(保存到 `_research/{system-id}-research.md`)
|
|
59
|
+
|
|
60
|
+
### 3. **Decompose (分解)**
|
|
61
|
+
- **输入**: 调研报告 + 系统理解
|
|
62
|
+
- **行动**: 使用 sequential thinking 分解系统
|
|
63
|
+
- **问题**:
|
|
64
|
+
- "核心组件有哪些?各自职责?"
|
|
65
|
+
- "组件之间如何通信?"
|
|
66
|
+
- "代码目录结构如何组织?"
|
|
67
|
+
- **产出**: 组件清单 + 架构草图
|
|
68
|
+
|
|
69
|
+
### 4. **Design (设计)**
|
|
70
|
+
- **输入**: 组件清单 + 架构草图
|
|
71
|
+
- **行动**: 设计接口、数据模型、技术栈
|
|
72
|
+
- **问题**:
|
|
73
|
+
- "接口如何设计?(API端点/组件Props/消息格式)"
|
|
74
|
+
- "数据模型是什么?(实体、Schema)"
|
|
75
|
+
- "为什么选这个技术栈?(Trade-offs)"
|
|
76
|
+
- **产出**: 详细设计草稿
|
|
77
|
+
|
|
78
|
+
### 5. **Defend (防御)**
|
|
79
|
+
- **输入**: 详细设计草稿
|
|
80
|
+
- **行动**: 分析性能、安全、可维护性
|
|
81
|
+
- **问题**:
|
|
82
|
+
- "有哪些性能瓶颈?如何优化?"
|
|
83
|
+
- "有哪些安全风险?如何缓解?"
|
|
84
|
+
- "如何测试?单元、集成、E2E?"
|
|
85
|
+
- **产出**: 防御策略(性能、安全、测试)
|
|
86
|
+
|
|
87
|
+
### 6. **Document (文档化)**
|
|
88
|
+
- **输入**: 所有上述产出
|
|
89
|
+
- **行动**: 使用系统设计模板填充14个章节
|
|
90
|
+
- **产出**: 完整的系统设计文档(.md)
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 📋 输出格式:系统设计文档结构
|
|
95
|
+
|
|
96
|
+
使用 `.agent\skills\system-designer\references\system-design-template.md` 模板。
|
|
97
|
+
|
|
98
|
+
**14个章节**:
|
|
99
|
+
|
|
100
|
+
### 必需章节 (Must Have)
|
|
101
|
+
1. **概览 (Overview)** - 系统目的、边界、职责
|
|
102
|
+
2. **目标与非目标 (Goals & Non-Goals)** - 从PRD继承
|
|
103
|
+
3. **背景与上下文 (Background)** - 为什么需要、关联需求
|
|
104
|
+
4. **系统架构 (Architecture)** ⭐ - 架构图 + 组件 + 数据流
|
|
105
|
+
5. **接口设计 (Interface Design)** ⭐ - API/组件/消息格式
|
|
106
|
+
6. **数据模型 (Data Model)** - 数据结构 + Schema
|
|
107
|
+
7. **技术选型 (Tech Stack)** - 核心技术 + 依赖库
|
|
108
|
+
8. **Trade-offs & Alternatives** ⭐ - 为什么选A不选B
|
|
109
|
+
9. **安全性考虑 (Security)** - 认证、加密、风险缓解
|
|
110
|
+
10. **性能考虑 (Performance)** - 目标、优化策略、监控
|
|
111
|
+
11. **测试策略 (Testing)** - 单元、集成、E2E
|
|
112
|
+
|
|
113
|
+
### 可选章节 (Optional)
|
|
114
|
+
12. **部署与运维 (Deployment)** - 部署流程、监控告警(小项目可简化)
|
|
115
|
+
13. **未来考虑 (Future)** - 扩展性、技术债(可省略)
|
|
116
|
+
14. **附录 (Appendix)** - 术语表、参考资料(可省略)
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 🛡️ 设计师守则
|
|
121
|
+
|
|
122
|
+
### 守则1: 调研先行
|
|
123
|
+
**规则**: 在设计任何系统前,**必须**先调研业界最佳实践。
|
|
124
|
+
|
|
125
|
+
**为什么?** 避免重复造轮子,学习他人经验。
|
|
126
|
+
|
|
127
|
+
**如何做?**
|
|
128
|
+
```
|
|
129
|
+
1. 识别系统类型(前端/后端/数据库/Agent)
|
|
130
|
+
2. 调用 /explore 调研该类系统的最佳实践
|
|
131
|
+
3. 提取关键洞察(架构模式、技术选型、陷阱)
|
|
132
|
+
4. 应用到设计中
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**示例**:
|
|
136
|
+
```
|
|
137
|
+
- 前端系统 → 调研 "React + Vite最佳架构 2025"
|
|
138
|
+
- 后端API → 调研 "FastAPI最佳实践"
|
|
139
|
+
- Agent系统 → 调研 "LangGraph多智能体设计模式"
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
### 守则2: 深度思考,不拍脑袋
|
|
145
|
+
**规则**: 使用 `sequential thinking` **3—7 步**设计,视复杂情况而定。
|
|
146
|
+
|
|
147
|
+
**为什么?** 设计是复杂活动,需要系统性思考。
|
|
148
|
+
|
|
149
|
+
**思考路径**:
|
|
150
|
+
```
|
|
151
|
+
架构设计(模式、组件、通信)
|
|
152
|
+
接口设计(API、数据格式)
|
|
153
|
+
数据模型设计
|
|
154
|
+
Trade-offs讨论(为什么选A不选B)
|
|
155
|
+
性能与安全(瓶颈、风险、优化)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
### 守则3: Trade-offs透明化 (Google风格)
|
|
161
|
+
**规则**: 每个重要技术选型都要说明"为什么选A而不是B"。
|
|
162
|
+
|
|
163
|
+
**为什么?** 帮助未来的维护者理解设计意图。
|
|
164
|
+
|
|
165
|
+
**模板**:
|
|
166
|
+
```markdown
|
|
167
|
+
### Decision X: [决策标题]
|
|
168
|
+
|
|
169
|
+
**Option A: [选项A] (✅ Selected)**
|
|
170
|
+
- ✅ 优点: [列举优点]
|
|
171
|
+
- ❌ 缺点: [列举缺点]
|
|
172
|
+
|
|
173
|
+
**Option B: [选项B]**
|
|
174
|
+
- ✅ 优点: [列举优点]
|
|
175
|
+
- ❌ 缺点: [列举缺点]
|
|
176
|
+
|
|
177
|
+
**Decision**: [为什么选A?关键理由是什么?]
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**示例**:
|
|
181
|
+
```markdown
|
|
182
|
+
### Decision 1: 为什么用PostgreSQL而不是MongoDB?
|
|
183
|
+
|
|
184
|
+
**Option A: PostgreSQL (✅ Selected)**
|
|
185
|
+
- ✅ ACID保证,强一致性
|
|
186
|
+
- ✅ 团队熟悉SQL
|
|
187
|
+
- ❌ 横向扩展不如NoSQL
|
|
188
|
+
|
|
189
|
+
**Option B: MongoDB**
|
|
190
|
+
- ✅ 灵活Schema
|
|
191
|
+
- ❌ 我们需要强一致性
|
|
192
|
+
|
|
193
|
+
**Decision**: 选择PostgreSQL,因为用户认证需要强一致性,比Schema灵活性更重要。
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
### 守则4: 架构可视化
|
|
199
|
+
**规则**: **必须**使用Mermaid绘制架构图和数据流图。
|
|
200
|
+
|
|
201
|
+
**为什么?** 一图胜千言。
|
|
202
|
+
|
|
203
|
+
**架构图示例**:
|
|
204
|
+
```mermaid
|
|
205
|
+
graph TD
|
|
206
|
+
A[User] -->|HTTP| B[Frontend]
|
|
207
|
+
B -->|API Call| C[Backend API]
|
|
208
|
+
C -->|Query| D[PostgreSQL]
|
|
209
|
+
C -->|Cache| E[Redis]
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**数据流图示例**:
|
|
213
|
+
```mermaid
|
|
214
|
+
sequenceDiagram
|
|
215
|
+
User->>Frontend: 输入登录信息
|
|
216
|
+
Frontend->>Backend: POST /auth/login
|
|
217
|
+
Backend->>Database: 验证用户
|
|
218
|
+
Database-->>Backend: 用户信息
|
|
219
|
+
Backend-->>Frontend: JWT Token
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
### 守则5: 约束继承,不能放松
|
|
225
|
+
**规则**: 从PRD和ADR继承的约束**不能放松**,只能更严格。
|
|
226
|
+
|
|
227
|
+
**为什么?** 约束是业务和技术的底线。
|
|
228
|
+
|
|
229
|
+
**检查清单**:
|
|
230
|
+
- [ ] PRD的性能约束是否继承?(如: API < 200ms)
|
|
231
|
+
- [ ] PRD的安全约束是否继承?(如: HTTPS only)
|
|
232
|
+
- [ ] ADR的技术决策是否遵守?(如: 使用JWT认证)
|
|
233
|
+
|
|
234
|
+
**示例**:
|
|
235
|
+
```
|
|
236
|
+
PRD约束: API响应时间 p95 < 200ms
|
|
237
|
+
↓
|
|
238
|
+
System Design:
|
|
239
|
+
- 性能目标: p95 < 200ms, p99 < 500ms (更严格)
|
|
240
|
+
- 优化策略: Redis缓存、数据库索引
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
### 守则6: 追溯链完整
|
|
246
|
+
**规则**: 在接口设计、数据模型中引用PRD需求 `[REQ-XXX]`。
|
|
247
|
+
|
|
248
|
+
**为什么?** 保证任何设计都能回溯到需求,避免过度设计。
|
|
249
|
+
|
|
250
|
+
**示例**:
|
|
251
|
+
```markdown
|
|
252
|
+
## 5. 接口设计
|
|
253
|
+
|
|
254
|
+
### POST /auth/login [REQ-001]
|
|
255
|
+
**Purpose**: 用户登录认证(对应PRD需求 REQ-001)
|
|
256
|
+
|
|
257
|
+
### User Entity [REQ-001, REQ-002]
|
|
258
|
+
```typescript
|
|
259
|
+
interface User {
|
|
260
|
+
id: string;
|
|
261
|
+
email: string; // REQ-001: 用户登录
|
|
262
|
+
name: string; // REQ-002: 用户资料
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 🧰 工具箱
|
|
270
|
+
|
|
271
|
+
### 工具1: 系统设计模板
|
|
272
|
+
- **路径**: `.agent/skills/system-designer/references/system-design-template.md`
|
|
273
|
+
- **用途**: 14章节的标准模板,确保文档完整性
|
|
274
|
+
- **使用**: `view_file .agent/skills/system-designer/references/system-design-template.md`
|
|
275
|
+
|
|
276
|
+
### 工具2: 调研报告存储
|
|
277
|
+
- **路径**: `genesis/v{N}/04_SYSTEM_DESIGN/_research/{system-id}-research.md`
|
|
278
|
+
- **用途**: 保存 /explore 的调研结果
|
|
279
|
+
- **格式**: Exploration Report (由 /explore 生成)
|
|
280
|
+
|
|
281
|
+
### 工具3: 架构图工具
|
|
282
|
+
- **工具**: Mermaid
|
|
283
|
+
- **语法**:
|
|
284
|
+
- `graph TD` - 架构图
|
|
285
|
+
- `sequenceDiagram` - 数据流图
|
|
286
|
+
- `classDiagram` - 类图(可选)
|
|
287
|
+
- **参考**: [Mermaid Documentation](https://mermaid.js.org/)
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## 📊 质量检查清单
|
|
292
|
+
|
|
293
|
+
在完成系统设计文档后,使用此清单自检:
|
|
294
|
+
|
|
295
|
+
### 结构完整性
|
|
296
|
+
- [ ] 包含所有11个必需章节
|
|
297
|
+
- [ ] 架构图存在且清晰(Mermaid)
|
|
298
|
+
- [ ] 数据流图存在(如适用)
|
|
299
|
+
- [ ] Trade-offs章节至少讨论2个重要决策
|
|
300
|
+
|
|
301
|
+
### 内容质量
|
|
302
|
+
- [ ] 系统边界定义清晰(输入/输出/依赖)
|
|
303
|
+
- [ ] 接口设计完整(API/组件/消息格式)
|
|
304
|
+
- [ ] 数据模型明确(实体/Schema)
|
|
305
|
+
- [ ] 技术选型有理由(Trade-offs讨论)
|
|
306
|
+
|
|
307
|
+
### 约束遵守
|
|
308
|
+
- [ ] PRD的性能约束已继承
|
|
309
|
+
- [ ] PRD的安全约束已继承
|
|
310
|
+
- [ ] ADR的技术决策已遵守
|
|
311
|
+
- [ ] 追溯链完整([REQ-XXX]引用)
|
|
312
|
+
|
|
313
|
+
### 可实施性
|
|
314
|
+
- [ ] 接口签名足够详细(可以直接实现)
|
|
315
|
+
- [ ] 数据库Schema完整(可以直接执行)
|
|
316
|
+
- [ ] 测试策略明确(单元/集成/E2E)
|
|
317
|
+
- [ ] 部署流程清晰(如需要)
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## 💡 常见场景与最佳实践
|
|
322
|
+
|
|
323
|
+
### 场景1: 设计前端系统
|
|
324
|
+
**核心关注**:
|
|
325
|
+
- 组件设计(可复用性、Props接口)
|
|
326
|
+
- 状态管理(Context vs Zustand vs Redux)
|
|
327
|
+
- 路由设计(React Router)
|
|
328
|
+
- 性能优化(懒加载、Code Splitting)
|
|
329
|
+
|
|
330
|
+
**调研主题**:
|
|
331
|
+
- "React组件设计模式 2025"
|
|
332
|
+
- "React状态管理最佳实践"
|
|
333
|
+
- "前端性能优化技巧"
|
|
334
|
+
|
|
335
|
+
**Trade-offs示例**:
|
|
336
|
+
- Context API vs Zustand
|
|
337
|
+
- CSS-in-JS vs TailwindCSS
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
### 场景2: 设计后端API系统
|
|
342
|
+
**核心关注**:
|
|
343
|
+
- API设计(RESTful vs GraphQL)
|
|
344
|
+
- 认证授权(JWT vs Session)
|
|
345
|
+
- 数据库连接(ORM vs 原生SQL)
|
|
346
|
+
- 缓存策略(Redis、本地缓存)
|
|
347
|
+
|
|
348
|
+
**调研主题**:
|
|
349
|
+
- "FastAPI最佳架构 2025"
|
|
350
|
+
- "RESTful API设计最佳实践"
|
|
351
|
+
- "API性能优化与缓存"
|
|
352
|
+
|
|
353
|
+
**Trade-offs示例**:
|
|
354
|
+
- JWT vs Session
|
|
355
|
+
- PostgreSQL vs MongoDB
|
|
356
|
+
- SQLAlchemy ORM vs 原生SQL
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
### 场景3: 设计数据库系统
|
|
361
|
+
**核心关注**:
|
|
362
|
+
- Schema设计(规范化 vs 反规范化)
|
|
363
|
+
- 索引策略(B-tree vs Hash)
|
|
364
|
+
- 事务隔离级别
|
|
365
|
+
- 备份恢复策略
|
|
366
|
+
|
|
367
|
+
**调研主题**:
|
|
368
|
+
- "PostgreSQL数据库设计最佳实践"
|
|
369
|
+
- "数据库索引优化策略"
|
|
370
|
+
- "PostgreSQL性能调优"
|
|
371
|
+
|
|
372
|
+
**Trade-offs示例**:
|
|
373
|
+
- 规范化(3NF)vs 性能优化(反规范化)
|
|
374
|
+
- ACID vs 最终一致性
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
### 场景4: 设计多智能体系统
|
|
379
|
+
**核心关注**:
|
|
380
|
+
- Agent协作模式(Supervisor、Workflow)
|
|
381
|
+
- 消息传递格式
|
|
382
|
+
- 工具调用设计
|
|
383
|
+
- 错误处理与重试
|
|
384
|
+
|
|
385
|
+
**调研主题**:
|
|
386
|
+
- "LangGraph多智能体设计模式"
|
|
387
|
+
- "LLM工具调用最佳实践"
|
|
388
|
+
- "Agent错误处理策略"
|
|
389
|
+
|
|
390
|
+
**Trade-offs示例**:
|
|
391
|
+
- Supervisor模式 vs Workflow模式
|
|
392
|
+
- Function Calling vs 文本解析
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## 🚀 快速上手示例
|
|
397
|
+
|
|
398
|
+
**任务**: 为后端API系统设计文档
|
|
399
|
+
|
|
400
|
+
**Step 1: 发现 (Discover)**
|
|
401
|
+
```
|
|
402
|
+
系统: backend-api-system
|
|
403
|
+
职责: 处理前端API请求、业务逻辑、数据库交互
|
|
404
|
+
边界: 输入HTTP请求 → 输出JSON响应
|
|
405
|
+
关联需求: [REQ-001] 用户登录, [REQ-002] Dashboard数据
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
**Step 2: 深潜 (Deep-Dive)**
|
|
409
|
+
```
|
|
410
|
+
/explore "FastAPI后端系统最佳架构设计 2025"
|
|
411
|
+
→ 产出: _research/backend-api-system-research.md
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
**Step 3-5: 分解 + 设计 + 防御**
|
|
415
|
+
```
|
|
416
|
+
使用 sequential thinking 3—7 步:
|
|
417
|
+
1. 采用分层架构 (Presentation → Business → Data)
|
|
418
|
+
2. 核心组件: AuthService, UserService, DatabaseManager
|
|
419
|
+
3. API设计: POST /auth/login, GET /users/me
|
|
420
|
+
4. 数据模型: User(id, email, passwordHash)
|
|
421
|
+
5. 技术栈: FastAPI + SQLAlchemy + PostgreSQL
|
|
422
|
+
6. Trade-off: 为什么用JWT而不是Session?
|
|
423
|
+
7. 性能: Redis缓存用户信息,TTL 5分钟
|
|
424
|
+
8. 安全: bcrypt密码哈希,Rate limiting
|
|
425
|
+
...
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
**Step 6: 文档化 (Document)**
|
|
429
|
+
```
|
|
430
|
+
使用模板填充14章节 → 保存到:
|
|
431
|
+
genesis/v{N}/04_SYSTEM_DESIGN/backend-api-system.md
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
---
|
|
435
|
+
|
|
436
|
+
**记住**: 好的设计是站在巨人肩膀上的。
|
|
437
|
+
调研业界最佳实践,深度思考权衡,清晰文档化。
|
|
438
|
+
|
|
439
|
+
Happy Designing! 🎨
|