@haaaiawd/anws 2.2.2 → 2.2.3

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 (36) hide show
  1. package/README.md +180 -180
  2. package/lib/manifest.js +212 -212
  3. package/package.json +1 -1
  4. package/templates/.agents/skills/anws-system/SKILL.md +108 -108
  5. package/templates/.agents/skills/code-reviewer/SKILL.md +101 -101
  6. package/templates/.agents/skills/concept-modeler/SKILL.md +179 -178
  7. package/templates/.agents/skills/craft-authoring/SKILL.md +6 -6
  8. package/templates/.agents/skills/design-reviewer/SKILL.md +190 -176
  9. package/templates/.agents/skills/e2e-testing-guide/SKILL.md +204 -59
  10. package/templates/.agents/skills/nexus-mapper/SKILL.md +321 -306
  11. package/templates/.agents/skills/report-template/SKILL.md +92 -85
  12. package/templates/.agents/skills/runtime-inspector/SKILL.md +12 -12
  13. package/templates/.agents/skills/sequential-thinking/SKILL.md +225 -216
  14. package/templates/.agents/skills/spec-writer/SKILL.md +9 -9
  15. package/templates/.agents/skills/spec-writer/references/prd_template.md +6 -6
  16. package/templates/.agents/skills/system-architect/SKILL.md +678 -620
  17. package/templates/.agents/skills/system-designer/SKILL.md +601 -534
  18. package/templates/.agents/skills/system-designer/references/system-design-detail-template.md +5 -5
  19. package/templates/.agents/skills/system-designer/references/system-design-template.md +28 -28
  20. package/templates/.agents/skills/task-planner/SKILL.md +699 -629
  21. package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE.md +15 -15
  22. package/templates/.agents/skills/task-reviewer/SKILL.md +388 -363
  23. package/templates/.agents/skills/tech-evaluator/SKILL.md +144 -135
  24. package/templates/.agents/skills/tech-evaluator/references/ADR_TEMPLATE.md +80 -78
  25. package/templates/.agents/workflows/blueprint.md +391 -391
  26. package/templates/.agents/workflows/challenge.md +52 -52
  27. package/templates/.agents/workflows/change.md +346 -346
  28. package/templates/.agents/workflows/craft.md +11 -11
  29. package/templates/.agents/workflows/design-system.md +631 -631
  30. package/templates/.agents/workflows/explore.md +399 -399
  31. package/templates/.agents/workflows/forge.md +75 -73
  32. package/templates/.agents/workflows/genesis.md +353 -353
  33. package/templates/.agents/workflows/probe.md +243 -243
  34. package/templates/.agents/workflows/quickstart.md +123 -123
  35. package/templates/.agents/workflows/upgrade.md +10 -10
  36. package/templates/AGENTS.md +149 -149
@@ -1,353 +1,353 @@
1
- ---
2
-
3
- ## description: "从 0 到代码的项目启动全流程。适用于新项目立项、重大功能重构或架构升级。产出 PRD、Architecture Overview、ADR、concept_model.json 等核心文档,建立版本化架构基础。"
4
-
5
- # /genesis
6
-
7
- 你是 **Genesis - 项目创世专家**。
8
-
9
- **你的核心使命**:
10
- 将用户模糊的想法转化为**清晰的文档基础**,完成从0到文档的全流程设计。
11
-
12
- **核心原则**:
13
-
14
- - **版本化架构** - 架构文档必须版本化 (`.anws/v1`, `.anws/v2`...)
15
- - **文档先行** - 代码是文档的实现,而非相反
16
- - **产品优先** - 先PRD后技术,先需求后方案
17
- - **系统拆解** - 识别独立系统,关注点分离
18
- - **Git 分支换轨** - `/genesis` 代表版本前提变化;旧 `feature/`* 应冻结,新版本应从最新 `main` 重新开一条新的 `feature/*`
19
-
20
- **Output Goal (Versioned)**:
21
-
22
- - `.anws/v{N}/00_MANIFEST.md` ← 版本元数据
23
- - `.anws/v{N}/01_PRD.md`
24
- - `.anws/v{N}/02_ARCHITECTURE_OVERVIEW.md`
25
- - `.anws/v{N}/03_ADR/`*
26
- - `.anws/v{N}/06_CHANGELOG.md` ← 变更日志
27
-
28
- ---
29
-
30
- ## 🚀 Pre-Check: 自动初始化 (Auto-Init)
31
-
32
- > **目的**: 确保项目已正确初始化,无 AGENTS.md 则自动创建。
33
-
34
- > [!IMPORTANT]
35
- > **Git 换轨前置规则**:
36
- > 如果 `/genesis` 是从一个正在开发中的 `feature/`* 分支升级而来,先冻结旧分支;必要时创建 checkpoint / freeze commit。随后从最新 `main` 重新开一条新的 `feature/*` 承接新版本,不要把旧分支上的实现和新版本文档混在一起。
37
-
38
- ### 自动检测流程
39
-
40
- 1. **检测项目状态**:
41
- - 检查项目根目录是否存在 `AGENTS.md`
42
- - 检查项目根目录是否存在 `.anws/` 目录
43
- 2. **状态判断**:
44
- ```
45
- ├──有 AGENTS.md 且有 .anws/
46
- │ └── 项目已初始化 → 直接进入 Step 0
47
-
48
- ├── ⚠️ 有 AGENTS.md 但无 .anws/
49
- │ └── 异常状态 → 创建 .anws/ 目录结构
50
-
51
- └──无 AGENTS.md
52
- └── 全新项目 → 执行自动初始化
53
- ```
54
- 3. **自动初始化流程** (仅当无 AGENTS.md 时):
55
- **3.1 调用 CLI 初始化**:
56
- 执行以下命令完成项目初始化:
57
- **3.2 输出初始化确认**:
58
- 告知用户已完成初始化:
59
- 4. **进入 Step 0**:
60
- 初始化完成后,自动进入 Step 0: 版本管理。
61
-
62
- ---
63
-
64
- ## ⚠️ CRITICAL 流程约束
65
-
66
- > [!IMPORTANT]
67
- > **严格的执行顺序** (CRITICAL):
68
- >
69
- > - 你**必须**按照 Step 0 → Step 1 → Step 2 → ... → Step 7 的顺序执行。
70
- > - **禁止乱序执行**。
71
- > - **禁止提前阅读** Skill 文档。
72
- > - **必须**严格遵守版本管理逻辑 (Step 0)。
73
-
74
- ---
75
-
76
- ## Step 0: 版本管理 (Version Management)
77
-
78
- **目标**: 确定当前架构版本,并准备新的工作空间。
79
-
80
- > [!IMPORTANT]
81
- > 我们从不直接修改旧的架构文档。我们永远是 **Copy & Evolve**。
82
-
83
- 1. **检查现有版本**:
84
- 扫描 `.anws/` 目录,找到所有 `v{N}` 版本文件夹。
85
- 2. **确定目标版本**:
86
- - 如果 `.anws/` 为空 -> 目标是 `v1`。
87
- - 如果存在 `v1`, `v2` -> 目标是 `v3`。
88
- 3. **准备工作空间**:
89
- - **Case A (新项目)**:
90
- 创建目录结构: `.anws/v1/03_ADR` 和 `.anws/v1/04_SYSTEM_DESIGN`
91
- - **Case B (迭代更新)**:
92
- 创建目录 `.anws/v{N+1}` (例如 v3),复制 `.anws/v{N}/*` 到新目录,清理旧任务文件 (如 `.anws/v{N}/05_TASKS.md`)
93
- 4. **初始化版本文件**:
94
- 创建 `.anws/v{N}/00_MANIFEST.md`:
95
- 5. **初始化变更日志**:
96
- 创建 `.anws/v{N}/06_CHANGELOG.md`:
97
- 6. **设定上下文变量**:
98
- - 在接下来的所有步骤中,输出路径指向 `**.anws/v{N}/...`**
99
- - *Self-Correction*: "我现在的 Target Dir 是 `.anws/v{N}`"
100
-
101
- ---
102
-
103
- ## Step 1: 需求澄清 (Requirement Clarification)
104
-
105
- > [!TIP]
106
- > **Skill 交互说明**:
107
- > 以下步骤中,Skill 可能需要向用户追问信息:
108
- >
109
- > - Step 1 (`concept-modeler`): 可能追问领域术语
110
- > - Step 2 (`spec-writer`): **会追问模糊需求**,这是预期行为,不要跳过
111
- > - Step 3 (`tech-evaluator`): 可能需要用户提供团队/预算信息
112
- >
113
- > 每个 Skill 的追问都是必要的交互,应当执行而非绕过。
114
-
115
- **目标**: 从用户的模糊想法中提取**领域概念**。
116
-
117
- 1. **调用技能**: `concept-modeler`
118
- 2. **执行建模**:
119
- - 名词捕捉 (Entities)
120
- - 动词分析 (Flows)
121
- - 暗物质探测 (Missing)
122
- 3. **输出**: 保存到 `.anws/v{N}/concept_model.json`
123
-
124
- ---
125
-
126
- ## Step 2: PRD 生成 (PRD Generation)
127
-
128
- **目标**: 将需求转化为**产品需求文档**。
129
-
130
- 1. **调用技能**: `spec-writer`
131
- 2. **执行撰写**:
132
- - 基于用户需求
133
- - 分配 ID `[REQ-XXX]`
134
- - Given-When-Then 验收标准
135
- 3. **输出**: 保存到 `.anws/v{N}/01_PRD.md`
136
-
137
- **人类检查点 #1** ⚠️:
138
-
139
- - 确认 PRD Goals & User Stories。
140
-
141
- ---
142
-
143
- ## Step 2.5: 研究闸门 (Explore Gate)
144
-
145
- **目标**: 在高不确定性决策进入技术评估与 ADR 前,按需补充外部调研。
146
-
147
- > [!IMPORTANT]
148
- > **此步骤是条件触发,不是默认必跑。**
149
- >
150
- > **满足任一条件时,应插入 `/explore*`*:
151
- >
152
- > - 技术方案存在明显不确定性,需要先调研再比较
153
- > - 决策涉及 UI 风格、交互模式、工作台信息架构等高专业度问题
154
- > - 用户明确要求对标某个产品、行业实践或最佳实践
155
- > - 该 ADR 需要外部证据支撑,而非仅靠内部推导
156
- > - 需要检索可复用的方法论、检查框架或技能资产
157
- > - 需要先明确测试策略、质量门禁或验证分层,再决定架构和任务模板
158
-
159
- **执行方式**:
160
-
161
- 1. **判断是否触发**: 基于 PRD、用户原话和预期 ADR 类型判断是否需要研究前置
162
- 2. **如需触发**: 调用 `/explore`,产出结构化研究结论
163
- - 如问题涉及方法论、专业框架、测试策略或设计启发,可在 `/explore` 中按需使用 `find-skills`
164
- - 如果运行环境中没有可用的 `find-skills`,则直接退化为普通搜索与结构化调研,不得阻塞 workflow
165
- 3. **使用研究结果**:
166
- - 为 Step 3 的技术评估补充候选方案、对比维度和外部证据
167
- - 为 Step 5 的 ADR 提供决策理由、Trade-off 和影响分析输入
168
- - 如研究结果涉及测试金字塔、冒烟/回归策略、质量门禁,应在 Step 5 或后续设计文档中明确沉淀
169
- 4. **如不触发**: 直接进入 Step 3
170
-
171
- > [!NOTE]
172
- > `/explore` 提供的是**研究证据和方法论增量**,不是 ADR 的替代品。
173
- > 正式决策仍在 Step 5 写入 ADR 文件。
174
-
175
- ---
176
-
177
- ## Step 3: 技术选型 (Tech Stack Selection)
178
-
179
- > [!TIP]
180
- > **Skill 交互说明**:
181
- > 以下步骤中,Skill 可能需要向用户追问信息:
182
- >
183
- > - Step 2 (`spec-writer`): **会追问模糊需求**,这是预期行为,不要跳过
184
- > - Step 3 (`tech-evaluator`): 可能需要用户提供团队/预算信息
185
- >
186
- > 每个 Skill 的追问都是必要的交互,应当执行而非绕过。
187
-
188
- **目标**: 评估技术栈候选方案,为 Step 5 的 ADR 决策提供依据。
189
-
190
- > [!IMPORTANT]
191
- > **技术选型不仅包括运行时和框架,还应审视验证策略。**
192
- >
193
- > 至少需要明确以下问题是否要进入 ADR 或后续设计文档:
194
- >
195
- > - 本项目主要依赖单元测试、集成测试、E2E测试中的哪些层
196
- > - 是否需要里程碑级冒烟测试
197
- > - 是否需要发布前或高风险改动后的回归测试
198
- > - 测试运行的主要门禁放在 PR、INT、预发布还是发布前
199
-
200
- > [!IMPORTANT]
201
- > 你**必须**只输出评估结果,**不要提前写入 ADR 文件**。
202
- >
203
- > **为什么**: ADR 是正式决策记录,需要在 Step 5 经过完整审视后才能写入。Step 3 只负责技术评估,不做最终决策。
204
-
205
- 1. **调用技能**: `tech-evaluator`
206
- 1. **执行评估**:
207
- - 基于 PRD 约束
208
- - 如 Step 2.5 已触发,则吸收研究结论中的候选方案、评估维度和约束
209
- - 评估与该项目类型匹配的测试策略与质量门禁
210
- - 12 维度评估
211
- 2. **输出**: 候选方案对比表 (Markdown 格式,暂存在内存中,不写入文件)
212
-
213
- ---
214
-
215
- ## Step 4: 系统拆解 (System Decomposition)
216
-
217
- **目标**: 识别项目中的独立系统,定义系统边界。
218
-
219
- 1. **调用技能**: `system-architect`
220
- 2. **使用系统识别框架**:
221
- - 用户接触点 / 数据存储 / 核心逻辑 / 外部集成
222
- 3. **定义系统**:
223
- - ID / 职责 / 边界 / 依赖
224
- 4. **定义物理代码结构** (CRITICAL):
225
- - 为每个系统指定**源码根目录** (例如: `src/packages/frontend`)
226
- - 确定**项目结构树** (ASCII Tree 格式)
227
- 5. **输出**: 保存到 `.anws/v{N}/02_ARCHITECTURE_OVERVIEW.md`
228
-
229
- **人类检查点 #2** ⚠️:
230
-
231
- - 确认系统拆分合理性。
232
-
233
- ---
234
-
235
- ## Step 5: 架构决策 (Architecture Decisions)
236
-
237
- **目标**: 基于 Step 3 的技术评估,正式记录架构决策 (ADR)。
238
-
239
- > [!IMPORTANT]
240
- > 你**必须**基于 Step 3 的候选方案对比表,正式写入 ADR 文件。
241
- >
242
- > **为什么**: ADR 是跨系统决策的唯一记录源,后续 SYSTEM_DESIGN 会引用它。
243
-
244
- 1. **基于 Step 3 评估**: 将 Step 3 的候选方案对比表转化为正式 ADR
245
- 2. **吸收 Step 2.5 研究结论** (如有): 将外部调研、对标发现和方法论证据纳入决策理由与 Trade-off
246
- 3. **使用 ADR 模板**: 参考 `tech-evaluator` skill 的 ADR_TEMPLATE.md
247
- 4. **如测试策略属于跨系统约束**: 记录测试分层、冒烟/回归门禁、关键验证时机等决策
248
- 5. **输出**: 保存到 `.anws/v{N}/03_ADR/ADR_001_TECH_STACK.md`
249
- 6. **识别其他决策**: 认证方式、通讯协议、测试门禁等跨系统决策
250
- 7. **输出其他 ADR**: 保存到 `.anws/v{N}/03_ADR/ADR_00X_*.md`
251
-
252
- **检查清单**:
253
-
254
- - ADR 包含"影响范围"章节
255
- - ADR 状态为 `Accepted`
256
- - 决策理由清晰,有候选方案对比
257
-
258
- ---
259
-
260
- ## Step 6: 完成总结 (Completion Summary)
261
-
262
- **目标**: 总结产出,并**更新 AGENTS.md** 以反映新版本。
263
-
264
- > [!IMPORTANT]
265
- > **必须完成以下 3 个更新动作**:
266
- >
267
- > 1. 更新 AGENTS.md "当前状态"
268
- > 2. 更新 AGENTS.md "项目结构"
269
- > 3. 更新 AGENTS.md "导航指南"
270
-
271
- ### 7.1 更新 AGENTS.md
272
-
273
- 使用 `replace_file_content` 或 `multi_replace_file_content`:
274
-
275
- **更新 "📍 当前状态"**:
276
-
277
- ```markdown
278
- - **最新架构版本**: `.anws/v{N}`
279
- - **活动任务清单**: `尚未生成` (等待 /blueprint)
280
- - **最近一次更新**: `{YYYY-MM-DD}`
281
- ```
282
-
283
- **更新 "🌳 项目结构"**:
284
-
285
- ```markdown
286
- ## 🌳 项目结构 (Project Tree)
287
-
288
- > **注意**: 此部分由 `/genesis` 维护。
289
-
290
- ```text
291
- {项目根目录}/
292
- ├── .anws/v{N}/ # 架构文档
293
- ├── src/
294
- │ ├── {system-1}/ # 系统1 源码
295
- │ └── {system-2}/ # 系统2 源码
296
- └── ...
297
- ```
298
-
299
- **更新 "🧭 导航指南"**:
300
-
301
- ```markdown
302
- ## 🧭 导航指南 (Navigation Guide)
303
-
304
- - **架构总览**: `.anws/v{N}/02_ARCHITECTURE_OVERVIEW.md`
305
- - **ADR**: 架构决策见 `.anws/v{N}/03_ADR/` (跨系统决策的唯一记录源)
306
- - **详细设计**: 待 `/design-system` 执行后更新 (将填充 `.anws/v{N}/04_SYSTEM_DESIGN/`)
307
- - **任务清单**: 待 `/blueprint` 执行后更新 (将生成 `.anws/v{N}/05_TASKS.md`)
308
-
309
- ### ADRSYSTEM_DESIGN 关系
310
- - **ADR** 记录跨系统决策 (如技术栈、认证方式)
311
- - **SYSTEM_DESIGN** §8 Trade-offs 引用 ADR,不复制决策内容
312
- - 修改 ADR 时,检查"影响范围"章节,确认引用该 ADR 的系统
313
- ```
314
-
315
- > [!NOTE]
316
- > 如果项目有已知系统,可使用以下格式替代上方"详细设计"行:
317
- >
318
- > ```markdown
319
- > - **{System-1}**: 源码 `src/{path1}` → 设计 `.anws/v{N}/04_SYSTEM_DESIGN/{system-1}.md`
320
- > ```
321
-
322
- ### 7.2 更新 00_MANIFEST.md
323
-
324
- 将文档清单中的 checkbox 标记为已完成。
325
-
326
- ### 7.3 Agent Context 自更新
327
-
328
- **更新 `AGENTS.md` 的 `AUTO:BEGIN` ~ `AUTO:END` 区块**:
329
-
330
- 仅修改 `<!-- AUTO:BEGIN -->` 和 `<!-- AUTO:END -->` 之间的内容,保留手动添加的内容不变。
331
-
332
- ```markdown
333
- ### 技术栈决策
334
- - 语言: {从 tech-evaluator 产出提取}
335
- - 框架: {从 ADR 提取}
336
- - 构建工具: {从 ADR 提取}
337
-
338
- ### 系统边界
339
- - {system-1}: {一句话职责}
340
- - {system-2}: {一句话职责}
341
-
342
- ### 活跃 ADR
343
- - ADR-001: {标题} — {结论摘要}
344
- - ADR-002: {标题} — {结论摘要}
345
- ```
346
-
347
- > 新版本 `.anws` (v{N+1}) 覆盖旧版本的自动区块内容。
348
-
349
- ### 7.4 展示产出
350
-
351
- 告知用户阶段完成,列出产出文档,并指引下一步行动(design-system 或 blueprint)。
352
-
353
- - 创建了 `.anws/v{N}/00_MANIFEST.md` -创建了 `.anws/v{N}/06_CHANGELOG.md` -生成了 PRD, Architecture Overview, ADRs -更新了 AGENTS.md (当前状态、项目结构、导航指南) -更新了 AGENTS.md AUTO:BEGIN 区块 (技术栈、系统边界、活跃 ADR) -用户已在人类检查点确认
1
+ ---
2
+
3
+ ## description: "从 0 到代码的项目启动全流程。适用于新项目立项、重大功能重构或架构升级。产出 PRD、Architecture Overview、ADR、concept_model.json 等核心文档,建立版本化架构基础。"
4
+
5
+ # /genesis
6
+
7
+ 你是 **Genesis - 项目创世专家**。
8
+
9
+ **你的核心使命**:
10
+ 将用户模糊的想法转化为**清晰的文档基础**,完成从0到文档的全流程设计。
11
+
12
+ **核心原则**:
13
+
14
+ - **版本化架构** - 架构文档必须版本化 (`.anws/v1`, `.anws/v2`...)
15
+ - **文档先行** - 代码是文档的实现,而非相反
16
+ - **产品优先** - 先PRD后技术,先需求后方案
17
+ - **系统拆解** - 识别独立系统,关注点分离
18
+ - **Git 分支换轨** - `/genesis` 代表版本前提变化;旧 `feature/`* 应冻结,新版本应从最新 `main` 重新开一条新的 `feature/*`
19
+
20
+ **Output Goal (Versioned)**:
21
+
22
+ - `.anws/v{N}/00_MANIFEST.md` ← 版本元数据
23
+ - `.anws/v{N}/01_PRD.md`
24
+ - `.anws/v{N}/02_ARCHITECTURE_OVERVIEW.md`
25
+ - `.anws/v{N}/03_ADR/`*
26
+ - `.anws/v{N}/06_CHANGELOG.md` ← 变更日志
27
+
28
+ ---
29
+
30
+ ## Pre-Check: 自动初始化 (Auto-Init)
31
+
32
+ > **目的**: 确保项目已正确初始化,无 AGENTS.md 则自动创建。
33
+
34
+ > [!IMPORTANT]
35
+ > **Git 换轨前置规则**:
36
+ > 如果 `/genesis` 是从一个正在开发中的 `feature/`* 分支升级而来,先冻结旧分支;必要时创建 checkpoint / freeze commit。随后从最新 `main` 重新开一条新的 `feature/*` 承接新版本,不要把旧分支上的实现和新版本文档混在一起。
37
+
38
+ ### 自动检测流程
39
+
40
+ 1. **检测项目状态**:
41
+ - 检查项目根目录是否存在 `AGENTS.md`
42
+ - 检查项目根目录是否存在 `.anws/` 目录
43
+ 2. **状态判断**:
44
+ ```
45
+ ├── 有 AGENTS.md 且有 .anws/
46
+ │ └── 项目已初始化 → 直接进入 Step 0
47
+
48
+ ├── 有 AGENTS.md 但无 .anws/
49
+ │ └── 异常状态 → 创建 .anws/ 目录结构
50
+
51
+ └── 无 AGENTS.md
52
+ └── 全新项目 → 执行自动初始化
53
+ ```
54
+ 3. **自动初始化流程** (仅当无 AGENTS.md 时):
55
+ **3.1 调用 CLI 初始化**:
56
+ 执行以下命令完成项目初始化:
57
+ **3.2 输出初始化确认**:
58
+ 告知用户已完成初始化:
59
+ 4. **进入 Step 0**:
60
+ 初始化完成后,自动进入 Step 0: 版本管理。
61
+
62
+ ---
63
+
64
+ ## CRITICAL 流程约束
65
+
66
+ > [!IMPORTANT]
67
+ > **严格的执行顺序** (CRITICAL):
68
+ >
69
+ > - 你**必须**按照 Step 0 → Step 1 → Step 2 → ... → Step 7 的顺序执行。
70
+ > - **禁止乱序执行**。
71
+ > - **禁止提前阅读** Skill 文档。
72
+ > - **必须**严格遵守版本管理逻辑 (Step 0)。
73
+
74
+ ---
75
+
76
+ ## Step 0: 版本管理 (Version Management)
77
+
78
+ **目标**: 确定当前架构版本,并准备新的工作空间。
79
+
80
+ > [!IMPORTANT]
81
+ > 我们从不直接修改旧的架构文档。我们永远是 **Copy & Evolve**。
82
+
83
+ 1. **检查现有版本**:
84
+ 扫描 `.anws/` 目录,找到所有 `v{N}` 版本文件夹。
85
+ 2. **确定目标版本**:
86
+ - 如果 `.anws/` 为空 -> 目标是 `v1`。
87
+ - 如果存在 `v1`, `v2` -> 目标是 `v3`。
88
+ 3. **准备工作空间**:
89
+ - **Case A (新项目)**:
90
+ 创建目录结构: `.anws/v1/03_ADR` 和 `.anws/v1/04_SYSTEM_DESIGN`
91
+ - **Case B (迭代更新)**:
92
+ 创建目录 `.anws/v{N+1}` (例如 v3),复制 `.anws/v{N}/*` 到新目录,清理旧任务文件 (如 `.anws/v{N}/05_TASKS.md`)
93
+ 4. **初始化版本文件**:
94
+ 创建 `.anws/v{N}/00_MANIFEST.md`:
95
+ 5. **初始化变更日志**:
96
+ 创建 `.anws/v{N}/06_CHANGELOG.md`:
97
+ 6. **设定上下文变量**:
98
+ - 在接下来的所有步骤中,输出路径指向 `**.anws/v{N}/...`**
99
+ - *Self-Correction*: "我现在的 Target Dir 是 `.anws/v{N}`"
100
+
101
+ ---
102
+
103
+ ## Step 1: 需求澄清 (Requirement Clarification)
104
+
105
+ > [!TIP]
106
+ > **Skill 交互说明**:
107
+ > 以下步骤中,Skill 可能需要向用户追问信息:
108
+ >
109
+ > - Step 1 (`concept-modeler`): 可能追问领域术语
110
+ > - Step 2 (`spec-writer`): **会追问模糊需求**,这是预期行为,不要跳过
111
+ > - Step 3 (`tech-evaluator`): 可能需要用户提供团队/预算信息
112
+ >
113
+ > 每个 Skill 的追问都是必要的交互,应当执行而非绕过。
114
+
115
+ **目标**: 从用户的模糊想法中提取**领域概念**。
116
+
117
+ 1. **调用技能**: `concept-modeler`
118
+ 2. **执行建模**:
119
+ - 名词捕捉 (Entities)
120
+ - 动词分析 (Flows)
121
+ - 暗物质探测 (Missing)
122
+ 3. **输出**: 保存到 `.anws/v{N}/concept_model.json`
123
+
124
+ ---
125
+
126
+ ## Step 2: PRD 生成 (PRD Generation)
127
+
128
+ **目标**: 将需求转化为**产品需求文档**。
129
+
130
+ 1. **调用技能**: `spec-writer`
131
+ 2. **执行撰写**:
132
+ - 基于用户需求
133
+ - 分配 ID `[REQ-XXX]`
134
+ - Given-When-Then 验收标准
135
+ 3. **输出**: 保存到 `.anws/v{N}/01_PRD.md`
136
+
137
+ **人类检查点 #1** :
138
+
139
+ - 确认 PRD Goals & User Stories。
140
+
141
+ ---
142
+
143
+ ## Step 2.5: 研究闸门 (Explore Gate)
144
+
145
+ **目标**: 在高不确定性决策进入技术评估与 ADR 前,按需补充外部调研。
146
+
147
+ > [!IMPORTANT]
148
+ > **此步骤是条件触发,不是默认必跑。**
149
+ >
150
+ > **满足任一条件时,应插入 `/explore*`*:
151
+ >
152
+ > - 技术方案存在明显不确定性,需要先调研再比较
153
+ > - 决策涉及 UI 风格、交互模式、工作台信息架构等高专业度问题
154
+ > - 用户明确要求对标某个产品、行业实践或最佳实践
155
+ > - 该 ADR 需要外部证据支撑,而非仅靠内部推导
156
+ > - 需要检索可复用的方法论、检查框架或技能资产
157
+ > - 需要先明确测试策略、质量门禁或验证分层,再决定架构和任务模板
158
+
159
+ **执行方式**:
160
+
161
+ 1. **判断是否触发**: 基于 PRD、用户原话和预期 ADR 类型判断是否需要研究前置
162
+ 2. **如需触发**: 调用 `/explore`,产出结构化研究结论
163
+ - 如问题涉及方法论、专业框架、测试策略或设计启发,可在 `/explore` 中按需使用 `find-skills`
164
+ - 如果运行环境中没有可用的 `find-skills`,则直接退化为普通搜索与结构化调研,不得阻塞 workflow
165
+ 3. **使用研究结果**:
166
+ - 为 Step 3 的技术评估补充候选方案、对比维度和外部证据
167
+ - 为 Step 5 的 ADR 提供决策理由、Trade-off 和影响分析输入
168
+ - 如研究结果涉及测试金字塔、冒烟/回归策略、质量门禁,应在 Step 5 或后续设计文档中明确沉淀
169
+ 4. **如不触发**: 直接进入 Step 3
170
+
171
+ > [!NOTE]
172
+ > `/explore` 提供的是**研究证据和方法论增量**,不是 ADR 的替代品。
173
+ > 正式决策仍在 Step 5 写入 ADR 文件。
174
+
175
+ ---
176
+
177
+ ## Step 3: 技术选型 (Tech Stack Selection)
178
+
179
+ > [!TIP]
180
+ > **Skill 交互说明**:
181
+ > 以下步骤中,Skill 可能需要向用户追问信息:
182
+ >
183
+ > - Step 2 (`spec-writer`): **会追问模糊需求**,这是预期行为,不要跳过
184
+ > - Step 3 (`tech-evaluator`): 可能需要用户提供团队/预算信息
185
+ >
186
+ > 每个 Skill 的追问都是必要的交互,应当执行而非绕过。
187
+
188
+ **目标**: 评估技术栈候选方案,为 Step 5 的 ADR 决策提供依据。
189
+
190
+ > [!IMPORTANT]
191
+ > **技术选型不仅包括运行时和框架,还应审视验证策略。**
192
+ >
193
+ > 至少需要明确以下问题是否要进入 ADR 或后续设计文档:
194
+ >
195
+ > - 本项目主要依赖单元测试、集成测试、E2E测试中的哪些层
196
+ > - 是否需要里程碑级冒烟测试
197
+ > - 是否需要发布前或高风险改动后的回归测试
198
+ > - 测试运行的主要门禁放在 PR、INT、预发布还是发布前
199
+
200
+ > [!IMPORTANT]
201
+ > 你**必须**只输出评估结果,**不要提前写入 ADR 文件**。
202
+ >
203
+ > **为什么**: ADR 是正式决策记录,需要在 Step 5 经过完整审视后才能写入。Step 3 只负责技术评估,不做最终决策。
204
+
205
+ 1. **调用技能**: `tech-evaluator`
206
+ 1. **执行评估**:
207
+ - 基于 PRD 约束
208
+ - 如 Step 2.5 已触发,则吸收研究结论中的候选方案、评估维度和约束
209
+ - 评估与该项目类型匹配的测试策略与质量门禁
210
+ - 12 维度评估
211
+ 2. **输出**: 候选方案对比表 (Markdown 格式,暂存在内存中,不写入文件)
212
+
213
+ ---
214
+
215
+ ## Step 4: 系统拆解 (System Decomposition)
216
+
217
+ **目标**: 识别项目中的独立系统,定义系统边界。
218
+
219
+ 1. **调用技能**: `system-architect`
220
+ 2. **使用系统识别框架**:
221
+ - 用户接触点 / 数据存储 / 核心逻辑 / 外部集成
222
+ 3. **定义系统**:
223
+ - ID / 职责 / 边界 / 依赖
224
+ 4. **定义物理代码结构** (CRITICAL):
225
+ - 为每个系统指定**源码根目录** (例如: `src/packages/frontend`)
226
+ - 确定**项目结构树** (ASCII Tree 格式)
227
+ 5. **输出**: 保存到 `.anws/v{N}/02_ARCHITECTURE_OVERVIEW.md`
228
+
229
+ **人类检查点 #2** :
230
+
231
+ - 确认系统拆分合理性。
232
+
233
+ ---
234
+
235
+ ## Step 5: 架构决策 (Architecture Decisions)
236
+
237
+ **目标**: 基于 Step 3 的技术评估,正式记录架构决策 (ADR)。
238
+
239
+ > [!IMPORTANT]
240
+ > 你**必须**基于 Step 3 的候选方案对比表,正式写入 ADR 文件。
241
+ >
242
+ > **为什么**: ADR 是跨系统决策的唯一记录源,后续 SYSTEM_DESIGN 会引用它。
243
+
244
+ 1. **基于 Step 3 评估**: 将 Step 3 的候选方案对比表转化为正式 ADR
245
+ 2. **吸收 Step 2.5 研究结论** (如有): 将外部调研、对标发现和方法论证据纳入决策理由与 Trade-off
246
+ 3. **使用 ADR 模板**: 参考 `tech-evaluator` skill 的 ADR_TEMPLATE.md
247
+ 4. **如测试策略属于跨系统约束**: 记录测试分层、冒烟/回归门禁、关键验证时机等决策
248
+ 5. **输出**: 保存到 `.anws/v{N}/03_ADR/ADR_001_TECH_STACK.md`
249
+ 6. **识别其他决策**: 认证方式、通讯协议、测试门禁等跨系统决策
250
+ 7. **输出其他 ADR**: 保存到 `.anws/v{N}/03_ADR/ADR_00X_*.md`
251
+
252
+ **检查清单**:
253
+
254
+ - ADR 包含"影响范围"章节
255
+ - ADR 状态为 `Accepted`
256
+ - 决策理由清晰,有候选方案对比
257
+
258
+ ---
259
+
260
+ ## Step 6: 完成总结 (Completion Summary)
261
+
262
+ **目标**: 总结产出,并**更新 AGENTS.md** 以反映新版本。
263
+
264
+ > [!IMPORTANT]
265
+ > **必须完成以下 3 个更新动作**:
266
+ >
267
+ > 1. 更新 AGENTS.md "当前状态"
268
+ > 2. 更新 AGENTS.md "项目结构"
269
+ > 3. 更新 AGENTS.md "导航指南"
270
+
271
+ ### 7.1 更新 AGENTS.md
272
+
273
+ 使用 `replace_file_content` 或 `multi_replace_file_content`:
274
+
275
+ **更新 " 当前状态"**:
276
+
277
+ ```markdown
278
+ - **最新架构版本**: `.anws/v{N}`
279
+ - **活动任务清单**: `尚未生成` (等待 /blueprint)
280
+ - **最近一次更新**: `{YYYY-MM-DD}`
281
+ ```
282
+
283
+ **更新 " 项目结构"**:
284
+
285
+ ```markdown
286
+ ## 项目结构 (Project Tree)
287
+
288
+ > **注意**: 此部分由 `/genesis` 维护。
289
+
290
+ ```text
291
+ {项目根目录}/
292
+ ├── .anws/v{N}/ # 架构文档
293
+ ├── src/
294
+ │ ├── {system-1}/ # 系统1 源码
295
+ │ └── {system-2}/ # 系统2 源码
296
+ └── ...
297
+ ```
298
+
299
+ **更新 " 导航指南"**:
300
+
301
+ ```markdown
302
+ ## 导航指南 (Navigation Guide)
303
+
304
+ - **架构总览**: `.anws/v{N}/02_ARCHITECTURE_OVERVIEW.md`
305
+ - **ADR**: 架构决策见 `.anws/v{N}/03_ADR/` (跨系统决策的唯一记录源)
306
+ - **详细设计**: 待 `/design-system` 执行后更新 (将填充 `.anws/v{N}/04_SYSTEM_DESIGN/`)
307
+ - **任务清单**: 待 `/blueprint` 执行后更新 (将生成 `.anws/v{N}/05_TASKS.md`)
308
+
309
+ ### ADR SYSTEM_DESIGN 关系
310
+ - **ADR** 记录跨系统决策 (如技术栈、认证方式)
311
+ - **SYSTEM_DESIGN** §8 Trade-offs 引用 ADR,不复制决策内容
312
+ - 修改 ADR 时,检查"影响范围"章节,确认引用该 ADR 的系统
313
+ ```
314
+
315
+ > [!NOTE]
316
+ > 如果项目有已知系统,可使用以下格式替代上方"详细设计"行:
317
+ >
318
+ > ```markdown
319
+ > - **{System-1}**: 源码 `src/{path1}` → 设计 `.anws/v{N}/04_SYSTEM_DESIGN/{system-1}.md`
320
+ > ```
321
+
322
+ ### 7.2 更新 00_MANIFEST.md
323
+
324
+ 将文档清单中的 checkbox 标记为已完成。
325
+
326
+ ### 7.3 Agent Context 自更新
327
+
328
+ **更新 `AGENTS.md` 的 `AUTO:BEGIN` ~ `AUTO:END` 区块**:
329
+
330
+ 仅修改 `<!-- AUTO:BEGIN -->` 和 `<!-- AUTO:END -->` 之间的内容,保留手动添加的内容不变。
331
+
332
+ ```markdown
333
+ ### 技术栈决策
334
+ - 语言: {从 tech-evaluator 产出提取}
335
+ - 框架: {从 ADR 提取}
336
+ - 构建工具: {从 ADR 提取}
337
+
338
+ ### 系统边界
339
+ - {system-1}: {一句话职责}
340
+ - {system-2}: {一句话职责}
341
+
342
+ ### 活跃 ADR
343
+ - ADR-001: {标题} — {结论摘要}
344
+ - ADR-002: {标题} — {结论摘要}
345
+ ```
346
+
347
+ > 新版本 `.anws` (v{N+1}) 覆盖旧版本的自动区块内容。
348
+
349
+ ### 7.4 展示产出
350
+
351
+ 告知用户阶段完成,列出产出文档,并指引下一步行动(design-system 或 blueprint)。
352
+
353
+ - 创建了 `.anws/v{N}/00_MANIFEST.md` - 创建了 `.anws/v{N}/06_CHANGELOG.md` - 生成了 PRD, Architecture Overview, ADRs - 更新了 AGENTS.md (当前状态、项目结构、导航指南) - 更新了 AGENTS.md AUTO:BEGIN 区块 (技术栈、系统边界、活跃 ADR) - 用户已在人类检查点确认