@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.
Files changed (43) hide show
  1. package/README.md +96 -0
  2. package/bin/cli.js +76 -0
  3. package/lib/copy.js +38 -0
  4. package/lib/index.js +8 -0
  5. package/lib/init.js +139 -0
  6. package/lib/manifest.js +53 -0
  7. package/lib/output.js +74 -0
  8. package/lib/update.js +85 -0
  9. package/package.json +36 -0
  10. package/templates/.agent/rules/agents.md +90 -0
  11. package/templates/.agent/skills/build-inspector/SKILL.md +83 -0
  12. package/templates/.agent/skills/complexity-guard/SKILL.md +71 -0
  13. package/templates/.agent/skills/complexity-guard/references/anti_patterns.md +21 -0
  14. package/templates/.agent/skills/concept-modeler/SKILL.md +112 -0
  15. package/templates/.agent/skills/concept-modeler/prompts/GLOSSARY_PROMPT.md +40 -0
  16. package/templates/.agent/skills/concept-modeler/references/ENTITY_EXTRACTION_PROMPT.md +299 -0
  17. package/templates/.agent/skills/concept-modeler/scripts/glossary_gen.py +66 -0
  18. package/templates/.agent/skills/git-forensics/SKILL.md +74 -0
  19. package/templates/.agent/skills/git-forensics/references/ANALYSIS_METHODOLOGY.md +193 -0
  20. package/templates/.agent/skills/git-forensics/scripts/git_forensics.py +615 -0
  21. package/templates/.agent/skills/git-forensics/scripts/git_hotspots.py +118 -0
  22. package/templates/.agent/skills/report-template/SKILL.md +88 -0
  23. package/templates/.agent/skills/report-template/references/REPORT_TEMPLATE.md +100 -0
  24. package/templates/.agent/skills/runtime-inspector/SKILL.md +93 -0
  25. package/templates/.agent/skills/spec-writer/SKILL.md +58 -0
  26. package/templates/.agent/skills/spec-writer/references/prd_template.md +174 -0
  27. package/templates/.agent/skills/system-architect/SKILL.md +620 -0
  28. package/templates/.agent/skills/system-architect/references/rfc_template.md +59 -0
  29. package/templates/.agent/skills/system-designer/SKILL.md +439 -0
  30. package/templates/.agent/skills/system-designer/references/system-design-template.md +533 -0
  31. package/templates/.agent/skills/task-planner/SKILL.md +474 -0
  32. package/templates/.agent/skills/task-planner/references/TASK_TEMPLATE.md +133 -0
  33. package/templates/.agent/skills/tech-evaluator/SKILL.md +135 -0
  34. package/templates/.agent/skills/tech-evaluator/references/ADR_TEMPLATE.md +68 -0
  35. package/templates/.agent/workflows/blueprint.md +185 -0
  36. package/templates/.agent/workflows/challenge.md +467 -0
  37. package/templates/.agent/workflows/change.md +294 -0
  38. package/templates/.agent/workflows/craft.md +626 -0
  39. package/templates/.agent/workflows/design-system.md +497 -0
  40. package/templates/.agent/workflows/explore.md +307 -0
  41. package/templates/.agent/workflows/forge.md +354 -0
  42. package/templates/.agent/workflows/genesis.md +265 -0
  43. package/templates/.agent/workflows/scout.md +130 -0
@@ -0,0 +1,497 @@
1
+ ---
2
+ description: 为单个系统设计详细的技术文档,通过调研最佳实践和深度思考产出完整的 System Design,包含架构图、接口设计和 Trade-offs 讨论。
3
+ ---
4
+
5
+ # /design-system
6
+
7
+ <phase_context>
8
+ 你是 **SYSTEM DESIGNER (系统设计专家)**。
9
+
10
+ **你的能力**:
11
+ - 为单个系统设计详细的技术架构
12
+ - 调研业界最佳实践(/explore)
13
+ - 深度思考设计方案(sequentialthinking)
14
+ - 产出完整的系统设计文档
15
+
16
+ **核心理念**:
17
+ > **深度优于广度** —— 每个系统都值得被认真设计
18
+
19
+ **使用方式**:
20
+ 运行 `/design-system <system-id>` 命令启动系统设计
21
+
22
+ **示例**:
23
+ - `/design-system frontend-system`
24
+ - `/design-system backend-api-system`
25
+ - `/design-system database-system`
26
+ - `/design-system agent-system`
27
+
28
+ **Output Goal**: `genesis/v{N}/04_SYSTEM_DESIGN/{system-id}.md`
29
+ </phase_context>
30
+
31
+ ---
32
+
33
+ ## ⚠️ CRITICAL 独立会话与上下文加载
34
+
35
+ > [!IMPORTANT]
36
+ > **为什么需要独立会话?**
37
+ >
38
+ > 复杂项目有多个系统,建议为每个系统单独设计。
39
+ > 我们使用**文件系统作为外部记忆**:
40
+ >
41
+ > - ✅ **加载**: 根据需要加载PRD、Architecture Overview、相关ADR
42
+ > - ✅ **灵活**: 可以加载完整文档或摘要,视情况而定
43
+ > - ✅ **使用**: 文件系统作为"外部记忆",不依赖会话历史
44
+
45
+ ---
46
+
47
+ ## ⚠️ CRITICAL 独立会话原则
48
+
49
+ > [!IMPORTANT]
50
+ > **每个系统的设计在独立会话中完成**
51
+ >
52
+ > **为什么?**
53
+ > - 避免上下文混杂(前端和后端设计思路不同)
54
+ > - 控制token消耗
55
+ > - 支持并行设计(可以同时为多个系统设计)
56
+ >
57
+ > **如何做?**
58
+ > - 每次运行 /design-system <system-id> 时,重新加载上下文
59
+ > - 使用 view_file 而不是依赖会话历史
60
+
61
+ ---
62
+
63
+ ## Step 0: 参数检查 (Parameter Validation)
64
+
65
+ **目标**: 确认用户提供了系统ID
66
+
67
+ > [!IMPORTANT]
68
+ > 你**必须**检查用户是否提供了 `<system-id>`。
69
+ >
70
+ > **为什么?** 系统ID是唯一标识符,缺失无法继续。
71
+
72
+ **检查**:
73
+ ```
74
+ 如果用户没有提供 <system-id>:
75
+ → 提示: "请指定系统ID,例如: /design-system frontend-system"
76
+ → 列出 02_ARCHITECTURE_OVERVIEW.md 中的所有系统供选择
77
+ → 停止执行
78
+
79
+ 如果提供了:
80
+ → 记录 system_id = <用户提供的值>
81
+ → 继续下一步
82
+ ```
83
+
84
+ ---
85
+
86
+ ## Step 1: 上下文加载 (Context Loading)
87
+
88
+ **目标**: 加载必要上下文,理解项目背景和系统定位
89
+
90
+ > [!IMPORTANT]
91
+ > 你**必须**加载相关文档,理解项目背景。
92
+ >
93
+ > **为什么?** 系统设计不是凭空创造,需要理解需求和整体架构。
94
+
95
+ **加载步骤**:
96
+
97
+ ### 1.1 检查文件存在性
98
+ 扫描 `genesis/` 目录,找到所有 `v{N}` 版本文件夹。
99
+
100
+ **检查**:
101
+ - [ ] `genesis/v{N}/01_PRD.md` 存在
102
+ - [ ] `genesis/v{N}/02_ARCHITECTURE_OVERVIEW.md` 存在
103
+ - [ ] `genesis/v{N}/03_ADR/` 存在
104
+
105
+ **如果缺失**:
106
+ - 提示用户先运行 `/genesis`
107
+ - 停止执行
108
+
109
+ ---
110
+
111
+ ### 1.2 加载PRD
112
+ 读取 `genesis/v{N}/01_PRD.md`
113
+
114
+ **关注重点**:
115
+ - Executive Summary - 项目核心目的
116
+ - Goals & Non-Goals - 项目目标与边界
117
+ - User Stories - 功能需求,特别注意 [REQ-XXX] ID
118
+ - Constraint Analysis - 性能、安全等约束
119
+
120
+ **提示**: 如果PRD很长,可以先读摘要部分,需要时再查看具体章节。
121
+
122
+ ---
123
+
124
+ ### 1.3 加载Architecture Overview
125
+ 读取 `genesis/v{N}/02_ARCHITECTURE_OVERVIEW.md`
126
+
127
+ **关注重点**:
128
+ - 系统清单 - 了解所有系统
129
+ - 该系统的边界定义 - 职责、输入输出、依赖关系
130
+ - 系统依赖图 - 理解系统间关系
131
+
132
+ ---
133
+
134
+ ### 1.4 查找该系统的详细定义
135
+ 在 `genesis/v{N}/02_ARCHITECTURE_OVERVIEW.md` 中搜索 system-id 相关内容
136
+
137
+ 或手动在Architecture Overview中查找该系统的:
138
+ - **职责 (Responsibility)**: 这个系统负责什么
139
+ - **边界 (Boundary)**: 输入什么、输出什么
140
+ - **依赖关系 (Dependencies)**: 依赖哪些系统,被谁依赖
141
+ - **关联需求**: 关联哪些 [REQ-XXX]
142
+
143
+ ---
144
+
145
+ ### 1.5 加载相关ADR
146
+ 扫描 `genesis/v{N}/03_ADR/` 目录
147
+
148
+ **选择性加载**与该系统相关的ADR,例如:
149
+ - 技术栈选择 (ADR001_TECH_STACK.md)
150
+ - 认证方式 (ADR002_AUTHENTICATION.md,如果该系统涉及认证)
151
+ - 数据库选择 (如果该系统是后端或数据库系统)
152
+
153
+ 读取 `genesis/v{N}/03_ADR/ADR001_TECH_STACK.md`
154
+
155
+ ---
156
+
157
+ ### 1.6 生成上下文摘要
158
+
159
+ > [!IMPORTANT]
160
+ > 你**必须**使用 `sequentialthinking` (3-5步) 生成上下文摘要。
161
+
162
+ **思考引导**:
163
+ 1. "该系统关联哪些PRD需求?[REQ-XXX]"
164
+ 2. "该系统的核心职责是什么?用一句话概括。"
165
+ 3. "该系统的边界在哪里?输入输出是什么?"
166
+ 4. "有哪些技术约束从PRD继承?(性能、安全等)"
167
+ 5. "有哪些ADR决策影响该系统?"
168
+
169
+ **输出**: 上下文摘要(保存在内存中,不写文件)
170
+
171
+ **示例摘要**:
172
+ ```markdown
173
+ ## 上下文摘要 (Context Summary)
174
+
175
+ **系统**: frontend-system
176
+
177
+ **关联需求**: [REQ-001] 用户登录, [REQ-002] Dashboard展示
178
+
179
+ **核心职责**:
180
+ - 用户界面展示与交互
181
+ - API调用封装
182
+ - 客户端状态管理
183
+
184
+ **边界**:
185
+ - 输入: 用户操作(点击、输入)
186
+ - 输出: HTTP API请求
187
+ - 依赖: backend-api-system
188
+
189
+ **技术约束**:
190
+ - 性能: 页面加载时间 < 2s (p95)
191
+ - 安全: HTTPS only, CSP头
192
+ - 兼容性: 支持Chrome、Firefox、Safari最新版本
193
+
194
+ **ADR决策**:
195
+ - ADR001: React + Vite 技术栈
196
+ - ADR002: JWT认证(需要在前端存储和发送Token)
197
+ ```
198
+
199
+ ---
200
+
201
+ ## Step 2: 系统理解 (System Understanding)
202
+
203
+ **目标**: 深度理解该系统的职责和边界
204
+
205
+ > [!IMPORTANT]
206
+ > 你**必须**使用 `sequentialthinking` (3-5步) 进行系统理解。
207
+ >
208
+ > **为什么?** 深度理解是良好设计的前提。
209
+
210
+ **思考引导**:
211
+ 1. "这个系统的核心职责是什么?(用一句话概括)"
212
+ 2. "系统边界在哪里?什么在边界内,什么在边界外?"
213
+ 3. "系统的输入是什么?来自哪里?"
214
+ 4. "系统的输出是什么?给谁?"
215
+ 5. "依赖哪些其他系统?这些依赖是否合理?"
216
+ 6. "被哪些系统依赖?接口应该如何设计?"
217
+ 7. "关联哪些PRD需求?这些需求的优先级如何?"
218
+ 8. "有哪些技术约束?(性能、安全、合规等)"
219
+ 9. "有哪些现有技术债或遗留系统需要兼容?"
220
+ 10. "该系统的成功标准是什么?"
221
+
222
+ **输出**: 系统理解报告(内存中)
223
+
224
+ ---
225
+
226
+ ## Step 3: 调研 (Research via /explore) ⭐ 用户强调
227
+
228
+ **目标**: 了解业界最佳实践,避免闭门造车
229
+
230
+ > [!IMPORTANT]
231
+ > 你**必须**调用 `/explore` 工作流进行调研。
232
+ >
233
+ > **为什么?** 学习业界最佳实践,站在巨人肩膀上。
234
+
235
+ **调研主题示例**:
236
+
237
+ **如果是前端系统**:
238
+ - "React + Vite 前端系统的最佳架构设计 2025"
239
+ - "React组件设计模式与最佳实践"
240
+ - "前端性能优化最佳实践 2025"
241
+ - "React状态管理最佳实践(Context vs Zustand vs Redux)"
242
+
243
+ **如果是后端API系统**:
244
+ - "FastAPI 后端系统的最佳架构设计 2025"
245
+ - "RESTful API设计最佳实践"
246
+ - "Python异步编程最佳实践"
247
+ - "API性能优化与缓存策略"
248
+
249
+ **如果是数据库系统**:
250
+ - "PostgreSQL数据库设计最佳实践 2025"
251
+ - "数据库索引优化策略"
252
+ - "PostgreSQL性能调优指南"
253
+
254
+ **如果是多智能体系统**:
255
+ - "LangGraph多智能体系统设计模式"
256
+ - "LLM工具调用最佳实践"
257
+ - "Agent协作与消息传递模式"
258
+
259
+ **调用方式**:
260
+ ```
261
+ /explore [调研主题]
262
+ ```
263
+
264
+ **产出**:
265
+ - 调研报告自动保存到: `genesis/v{N}/04_SYSTEM_DESIGN/_research/{system-id}-research.md`
266
+
267
+ **关键要点**: 从调研中提取:
268
+ - 推荐的架构模式
269
+ - 关键技术选型建议
270
+ - 常见陷阱和反模式
271
+ - 性能优化技巧
272
+ - 安全最佳实践
273
+
274
+ ---
275
+
276
+ ## Step 4: 设计 (Design via sequentialthinking)
277
+
278
+ **目标**: 基于调研和上下文,深度设计系统架构
279
+
280
+ > [!IMPORTANT]
281
+ > 你**必须**使用 `sequentialthinking` (5-7步) 进行设计思考。
282
+ >
283
+ > **为什么?** 好的设计需要深度思考,不是拍脑袋决定。
284
+
285
+ **思考引导**:
286
+
287
+ ### 4.1 架构设计 (Architecture Design)
288
+ 1. "基于调研,该系统应该采用什么架构模式?(如: MVC、分层架构、模块化单体)"
289
+ 2. "核心组件有哪些?各自职责是什么?"
290
+ 3. "组件之间如何通信?(如: 事件、直接调用、消息队列)"
291
+ 4. "如何组织代码结构?(目录结构)"
292
+
293
+ ### 4.2 接口设计 (Interface Design)
294
+ 5. "接口应该如何设计?(API端点、组件Props、消息格式)"
295
+ 6. "输入输出的数据格式是什么?"
296
+ 7. "错误处理机制如何设计?"
297
+
298
+ ### 4.3 数据模型设计 (Data Model Design)
299
+ 8. "需要哪些数据结构/实体?"
300
+ 9. "数据库Schema如何设计?(如果需要)"
301
+ 10. "数据如何在组件间流动?"
302
+
303
+ ### 4.4 Trade-offs讨论 (⭐ Google风格)
304
+ 11. "为什么选择方案A而不是方案B?(技术选型)"
305
+ 12. "这个设计的权衡是什么?优点和缺点?"
306
+ 13. "有哪些备选方案?为什么不选它们?"
307
+
308
+ ### 4.5 性能与安全
309
+ 14. "有哪些性能瓶颈?如何优化?(缓存、索引、异步)"
310
+ 15. "有哪些安全风险?如何缓解?(认证、加密、输入验证)"
311
+
312
+ **输出**: 设计草稿(内存中)
313
+
314
+ **设计草稿示例结构**:
315
+ ```markdown
316
+ ## 设计草稿
317
+
318
+ ### 架构模式
319
+ - 采用分层架构:Presentation → Business Logic → Data Access
320
+
321
+ ### 核心组件
322
+ 1. LoginForm - 用户登录表单
323
+ 2. AuthService - 认证服务封装
324
+ 3. ApiClient - HTTP客户端
325
+
326
+ ### 接口设计
327
+ - LoginForm Props: { onSuccess, onError }
328
+ - AuthService.login(email, password) → Promise<Token>
329
+
330
+ ### 数据模型
331
+ - User: { id, email, name }
332
+ - Token: { accessToken, expiresAt }
333
+
334
+ ### Trade-offs
335
+ - 决策1: 为什么用JWT而不是Session?
336
+ → 无状态、前后端分离友好
337
+ - 决策2: 为什么用Context API而不是Redux?
338
+ → 需求简单,Redux过度设计
339
+
340
+ ### 性能优化
341
+ - 懒加载组件(React.lazy)
342
+ - 缓存Token在LocalStorage
343
+
344
+ ### 安全
345
+ - HTTPS only
346
+ - XSS防护(输入验证、CSP头)
347
+ ```
348
+
349
+ ---
350
+
351
+ ## Step 5: 文档化 (Documentation)
352
+
353
+ **目标**: 使用模板产出完整的系统设计文档
354
+
355
+ > [!IMPORTANT]
356
+ > 你**必须**使用 `.agent/skills/system-designer/references/system-design-template.md` 模板。
357
+ >
358
+ > **为什么?** 统一结构,保证文档质量和完整性。
359
+
360
+ **步骤**:
361
+
362
+ ### 5.1 加载模板
363
+ 读取 `.agent/skills/system-designer/references/system-design-template.md`
364
+
365
+ ### 5.2 填充内容
366
+
367
+ **必需章节**(必须填写):
368
+ 1. 概览 (Overview)
369
+ 2. 目标与非目标 (Goals & Non-Goals)
370
+ 3. 背景与上下文 (Background & Context)
371
+ 4. 系统架构 (Architecture) - 包含架构图
372
+ 5. 接口设计 (Interface Design)
373
+ 6. 数据模型 (Data Model)
374
+ 7. 技术选型 (Technology Stack)
375
+ 8. **Trade-offs & Alternatives** ⭐ 核心
376
+ 9. 安全性考虑 (Security Considerations)
377
+ 10. 性能考虑 (Performance Considerations)
378
+ 11. 测试策略 (Testing Strategy)
379
+
380
+ **可选章节**(小项目可简化):
381
+ 12. 部署与运维 (Deployment & Operations) - 可简化
382
+ 13. 未来考虑 (Future Considerations) - 可省略
383
+ 14. 附录 (Appendix) - 可省略
384
+
385
+ **关键要求**:
386
+ - **架构图**: 必须使用Mermaid绘制
387
+ - **Trade-offs**: 每个重要技术选型都要说明"为什么选A不选B"
388
+ - **追溯链**: 在相关章节引用PRD需求 [REQ-XXX]
389
+ - **约束继承**: 从PRD和ADR继承约束
390
+
391
+ ### 5.3 保存文档
392
+ 将内容保存到 `genesis/v{N}/04_SYSTEM_DESIGN/{system-id}.md`
393
+
394
+ **示例路径**:
395
+ - `genesis/v{N}/04_SYSTEM_DESIGN/frontend-system.md`
396
+ - `genesis/v{N}/04_SYSTEM_DESIGN/backend-api-system.md`
397
+
398
+ ---
399
+
400
+ ## Step 6: 审核 (Review via /challenge) - 可选
401
+
402
+ **目标**: 质疑设计决策,识别盲点
403
+
404
+ > [!IMPORTANT]
405
+ > 这是**可选步骤**,但强烈建议执行。
406
+ >
407
+ > **为什么?** 第三方视角能发现设计盲点。
408
+
409
+ **调用方式**:
410
+ ```
411
+ /challenge genesis/v{N}/04_SYSTEM_DESIGN/{system-id}.md
412
+ ```
413
+
414
+ **产出**: 质疑报告 + 改进建议
415
+
416
+ **如果发现重大问题**:
417
+ - 返回Step 4,重新设计
418
+ - 更新文档
419
+
420
+ ---
421
+
422
+ ## Step 7: 人类确认 (Human Checkpoint)
423
+
424
+ **目标**: 展示文档,请求用户确认
425
+
426
+ > [!IMPORTANT]
427
+ > 你**必须**展示生成的文档路径,并请求用户确认。
428
+ >
429
+ > **为什么?** 人类最终负责,必须确认设计合理。
430
+
431
+ **展示**:
432
+ ```
433
+ ✅ 系统设计文档已生成:
434
+ - 文件: genesis/v{N}/04_SYSTEM_DESIGN/{system-id}.md
435
+ - 调研: genesis/v{N}/04_SYSTEM_DESIGN/_research/{system-id}-research.md
436
+
437
+ 📋 文档包含:
438
+ - 14个章节(完整版)或 11个章节(简化版)
439
+ - 架构图 (Mermaid)
440
+ - 接口设计(API/组件)
441
+ - Trade-offs讨论
442
+ - 性能与安全考虑
443
+
444
+ 请确认:
445
+ [ ] 系统边界定义清晰
446
+ [ ] 技术选型合理
447
+ [ ] Trade-offs讨论充分
448
+ [ ] 接口设计完整
449
+
450
+ 如果需要修改,请告诉我具体哪里需要调整。
451
+ 否则,可以继续为下一个系统设计,或运行 /blueprint 拆解任务。
452
+ ```
453
+
454
+ ---
455
+
456
+ <completion_criteria>
457
+ - ✅ 系统ID已确认
458
+ - ✅ 上下文已加载(PRD + Architecture Overview + 相关ADR)
459
+ - ✅ 系统理解已完成 (sequentialthinking 3-5步)
460
+ - ✅ 调研已完成 (/explore)
461
+ - ✅ 设计已完成 (sequentialthinking 5-7步)
462
+ - ✅ 文档已生成 (使用模板)
463
+ - ✅ 用户已确认
464
+ </completion_criteria>
465
+
466
+ ---
467
+
468
+ ## 📚 示例提示词
469
+
470
+ **为前端系统设计**:
471
+ `/design-system frontend-system`
472
+
473
+ **为后端API系统设计**:
474
+ `/design-system backend-api-system`
475
+
476
+ **为数据库系统设计**:
477
+ `/design-system database-system`
478
+
479
+ **为多智能体系统设计**:
480
+ `/design-system agent-system`
481
+
482
+ ---
483
+
484
+ ## 🛡️ 常见问题 (FAQ)
485
+
486
+ **Q1: 如果Architecture Overview中没有我要设计的系统怎么办?**
487
+ A: 提示用户先运行 `/genesis` 或更新 `02_ARCHITECTURE_OVERVIEW.md` 添加该系统。
488
+
489
+ **Q2: 如果调研找不到相关最佳实践怎么办?**
490
+ A: 调整调研关键词,或基于通用软件架构原则设计。记录在文档的"References"章节说明缺乏参考资料。
491
+
492
+ **Q3: 小项目是否需要完整的14章节?**
493
+ A: 结构保持一致,但可以简化内容。可省略章节: 13 (未来考虑), 14 (附录)。可简化章节: 12 (部署)。
494
+
495
+ ---
496
+
497
+ // turbo-all