6aspec 2.0.0-dev.7 → 3.0.0-dev.1
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/.6aspec/rules/biz/code.md +122 -28
- package/.6aspec/rules/biz/code_implementation_sop.md +77 -0
- package/.6aspec/rules/brown/brown_analyze_sop.md +289 -0
- package/.6aspec/rules/brown/brown_archive_sop.md +43 -78
- package/.6aspec/rules/brown/brown_constitution.md +11 -0
- package/.6aspec/rules/brown/brown_continue_sop.md +6 -13
- package/.6aspec/rules/brown/brown_design_sop.md +210 -95
- package/.6aspec/rules/brown/brown_explore_sop.md +314 -0
- package/.6aspec/rules/brown/brown_ff_sop.md +27 -64
- package/.6aspec/rules/brown/brown_impact_sop.md +101 -45
- package/.6aspec/rules/brown/brown_implement_sop.md +88 -58
- package/.6aspec/rules/brown/brown_list_sop.md +12 -12
- package/.6aspec/rules/brown/brown_new_sop.md +56 -77
- package/.6aspec/rules/brown/brown_proposal_sop.md +243 -76
- package/.6aspec/rules/brown/brown_quick_sop.md +5 -5
- package/.6aspec/rules/brown/brown_review_sop.md +4 -4
- package/.6aspec/rules/brown/brown_rollback_sop.md +27 -45
- package/.6aspec/rules/brown/brown_specs_sop.md +364 -126
- package/.6aspec/rules/brown/brown_status_sop.md +16 -32
- package/.6aspec/rules/brown/brown_tasks_sop.md +205 -87
- package/.6aspec/rules/brown/brown_understand_sop.md +128 -46
- package/.6aspec/rules/brown/brown_update_sop.md +283 -0
- package/.6aspec/rules/brown/brown_verify_sop.md +71 -309
- package/.6aspec/rules/brown/subagents/implementer.md +68 -0
- package/.6aspec/rules/brown/subagents/spec-compliance-reviewer.md +65 -0
- package/.6aspec/rules/green/{6A_archive_sop.md → green_archive_sop.md} +3 -3
- package/.6aspec/rules/green/{6A_clarify_sop.md → green_clarify_sop.md} +1 -1
- package/.6aspec/rules/green/{6A_code_implementation_sop.md → green_code_implementation_sop.md} +18 -3
- package/.6aspec/rules/green/{6A_continue_sop.md → green_continue_sop.md} +3 -3
- package/.6aspec/rules/green/{6A_new_sop.md → green_new_sop.md} +90 -11
- package/.6aspec/rules/green/green_status_schema.md +4 -4
- package/.6aspec/rules/green/{6A_status_sop.md → green_status_sop.md} +3 -3
- package/.6aspec/rules/green/{6A_tasks_sop.md → green_tasks_sop.md} +1 -1
- package/.claude/agents/implementer.md +6 -0
- package/.claude/agents/spec-compliance-reviewer.md +6 -0
- package/.claude/commands/6aspec/brown/analyze.md +11 -0
- package/.claude/commands/6aspec/brown/archive.md +11 -11
- package/.claude/commands/6aspec/brown/continue.md +11 -11
- package/.claude/commands/6aspec/brown/design.md +11 -11
- package/.claude/commands/6aspec/brown/explore.md +11 -0
- package/.claude/commands/6aspec/brown/ff.md +11 -11
- package/.claude/commands/6aspec/brown/impact.md +11 -11
- package/.claude/commands/6aspec/brown/implement.md +11 -11
- package/.claude/commands/6aspec/brown/list.md +11 -11
- package/.claude/commands/6aspec/brown/new.md +11 -11
- package/.claude/commands/6aspec/brown/proposal.md +11 -11
- package/.claude/commands/6aspec/brown/quick.md +11 -11
- package/.claude/commands/6aspec/brown/review.md +11 -11
- package/.claude/commands/6aspec/brown/status.md +11 -11
- package/.claude/commands/6aspec/brown/tasks.md +11 -11
- package/.claude/commands/6aspec/brown/understand.md +11 -11
- package/.claude/commands/6aspec/brown/update.md +11 -0
- package/.claude/commands/6aspec/brown/verify.md +11 -11
- package/.claude/commands/6aspec/code.md +10 -0
- package/.claude/commands/6aspec/green/archive.md +1 -1
- package/.claude/commands/6aspec/green/clarify.md +2 -2
- package/.claude/commands/6aspec/green/continue.md +1 -1
- package/.claude/commands/6aspec/green/design.md +2 -2
- package/.claude/commands/6aspec/green/{execute-task.md → implement.md} +1 -1
- package/.claude/commands/6aspec/green/import-model-table.md +1 -1
- package/.claude/commands/6aspec/green/init.md +2 -2
- package/.claude/commands/6aspec/green/model.md +2 -2
- package/.claude/commands/6aspec/green/new.md +2 -2
- package/.claude/commands/6aspec/green/rollback.md +1 -1
- package/.claude/commands/6aspec/green/status.md +1 -1
- package/.claude/commands/6aspec/green/tasks.md +2 -2
- package/.claude/commands/6aspec/green/visual-logic.md +2 -2
- package/.claude/settings.local.json +21 -1
- package/.cursor/commands/6aspec/brown/explore.md +11 -0
- package/.cursor/commands/6aspec/brown/update.md +9 -0
- package/.cursor/commands/6aspec/code.md +8 -0
- package/.cursor/commands/6aspec/green/archive.md +1 -1
- package/.cursor/commands/6aspec/green/clarify.md +2 -2
- package/.cursor/commands/6aspec/green/continue.md +1 -1
- package/.cursor/commands/6aspec/green/design.md +2 -2
- package/.cursor/commands/6aspec/green/{execute-task.md → implement.md} +1 -1
- package/.cursor/commands/6aspec/green/import-model-table.md +1 -1
- package/.cursor/commands/6aspec/green/init.md +2 -2
- package/.cursor/commands/6aspec/green/model.md +2 -2
- package/.cursor/commands/6aspec/green/new.md +2 -2
- package/.cursor/commands/6aspec/green/rollback.md +1 -1
- package/.cursor/commands/6aspec/green/status.md +1 -1
- package/.cursor/commands/6aspec/green/tasks.md +2 -2
- package/.cursor/commands/6aspec/green/visual-logic.md +2 -2
- package/README.md +1 -1
- package/lib/cli.js +2 -2
- package/lib/installer.js +19 -2
- package/package.json +1 -1
- /package/.6aspec/rules/green/{6A_constitution.md → green_constitution.md} +0 -0
- /package/.6aspec/rules/green/{6A_design_sop.md → green_design_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_import_model_table_sop.md → green_import_model_table_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_init_event_list_sop.md → green_init_event_list_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_init_map_sop.md → green_init_map_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_model_sop.md → green_model_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_rollback_sop.md → green_rollback_sop.md} +0 -0
- /package/.6aspec/rules/green/{6A_visual_logic_sop.md → green_visual_logic_sop.md} +0 -0
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# 棕地需求 - Understand SOP
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
需求理解与现状分析
|
|
4
|
+
|
|
5
|
+
**适用流程**:标准级、完整级
|
|
6
|
+
|
|
7
|
+
**流程定位**:标准级/完整级的第一阶段,基于需求描述分析现有系统
|
|
4
8
|
|
|
5
9
|
**输入**:`/6aspec:brown:understand` 后可选需求名称。如果省略,从上下文推断或提示选择。
|
|
6
10
|
|
|
@@ -17,15 +21,19 @@ Phase 1: 需求理解与现状分析
|
|
|
17
21
|
2. **检查状态**
|
|
18
22
|
|
|
19
23
|
读取 `6aspecdoc/brown/<name>/status.json`:
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
24
|
+
- 确认流程深度为 "standard" 或 "complete"
|
|
25
|
+
- 如果是 "lightweight",提示轻量级流程不需要understand阶段,应该直接运行 `/6aspec:brown:proposal`
|
|
26
|
+
- 确认 `phases.understand` 为 "pending"
|
|
27
|
+
- 如果understand已完成,提示使用 `/6aspec:brown:continue` 进入下一阶段
|
|
28
|
+
- 如果是简单需求,提示考虑使用 `/6aspec:brown:quick` 快速通道
|
|
23
29
|
|
|
24
30
|
3. **读取需求描述**
|
|
25
31
|
|
|
26
|
-
读取 `6aspecdoc/brown/<name>/
|
|
27
|
-
- `type = "text"
|
|
28
|
-
- `type = "file"
|
|
32
|
+
读取 `6aspecdoc/brown/<name>/artifacts/original-requirement.md` 获取原始需求内容:
|
|
33
|
+
- 如果 `inputSource.type = "text"`:文档中包含用户输入的原始需求描述
|
|
34
|
+
- 如果 `inputSource.type = "file"`:文档中包含来源文件路径的引用
|
|
35
|
+
|
|
36
|
+
**注意**:Understand 阶段不依赖 proposal,直接基于原始需求分析现有系统
|
|
29
37
|
|
|
30
38
|
4. **分析现有系统**
|
|
31
39
|
|
|
@@ -64,23 +72,27 @@ Phase 1: 需求理解与现状分析
|
|
|
64
72
|
- 识别状态机约束
|
|
65
73
|
- 识别权限控制逻辑
|
|
66
74
|
|
|
67
|
-
5.
|
|
75
|
+
5. **生成待明确问题清单**
|
|
68
76
|
|
|
69
|
-
|
|
70
|
-
- 现有实现中不清楚的地方
|
|
71
|
-
- 可能影响需求实现的关键点
|
|
72
|
-
- 需要在 specs 阶段明确的技术或业务细节
|
|
77
|
+
基于现状分析和需求描述,生成需要用户明确的问题清单:
|
|
73
78
|
|
|
74
|
-
|
|
79
|
+
**问题类型**:
|
|
80
|
+
- 字段设计问题(名称、类型、必填、默认值、值域)
|
|
81
|
+
- 业务规则问题(是否可修改、是否继承、是否同步)
|
|
82
|
+
- 权限和统计问题(权限控制、统计报表)
|
|
83
|
+
- 集成和兼容问题(与其他模块的集成、数据迁移)
|
|
84
|
+
|
|
85
|
+
这些问题将在本阶段提出,并引导用户回答,为 specs 阶段的需求定义提供依据。
|
|
75
86
|
|
|
76
87
|
6. **创建分析文档**
|
|
77
88
|
|
|
78
|
-
创建 `6aspecdoc/brown/<name>/artifacts/
|
|
89
|
+
创建 `6aspecdoc/brown/<name>/artifacts/understanding.md`:
|
|
79
90
|
```markdown
|
|
80
|
-
#
|
|
91
|
+
# 需求理解与现状分析
|
|
81
92
|
|
|
82
93
|
> **需求**: <name>
|
|
83
|
-
>
|
|
94
|
+
> **流程**: <flowDepth>
|
|
95
|
+
> **阶段**: Understand
|
|
84
96
|
> **状态**: ✅ 已完成
|
|
85
97
|
> **完成时间**: <timestamp>
|
|
86
98
|
|
|
@@ -118,83 +130,153 @@ Phase 1: 需求理解与现状分析
|
|
|
118
130
|
### 1.5 隐性假设和约束
|
|
119
131
|
<列出识别的隐性假设和约束>
|
|
120
132
|
|
|
121
|
-
## 2.
|
|
122
|
-
|
|
123
|
-
基于现状分析,记录以下疑问点(这些疑问点将在 specs 阶段转化为正式的需求问题):
|
|
133
|
+
## 2. 待明确问题清单
|
|
124
134
|
|
|
125
|
-
###
|
|
126
|
-
|
|
135
|
+
### 字段设计
|
|
136
|
+
1. 字段名称:[待确认]
|
|
137
|
+
2. 字段类型:[待确认]
|
|
138
|
+
3. 是否必填:[待确认]
|
|
139
|
+
4. 默认值:[待确认]
|
|
140
|
+
5. 值域范围:[待确认]
|
|
127
141
|
|
|
128
|
-
###
|
|
129
|
-
|
|
142
|
+
### 业务规则
|
|
143
|
+
6. 是否可以修改:[待确认]
|
|
144
|
+
7. 子项目是否继承:[待确认]
|
|
145
|
+
8. 是否需要同步到其他表:[待确认]
|
|
130
146
|
|
|
131
|
-
###
|
|
132
|
-
|
|
147
|
+
### 权限和统计
|
|
148
|
+
9. 是否需要权限控制:[待确认]
|
|
149
|
+
10. 是否需要统计报表:[待确认]
|
|
133
150
|
|
|
134
151
|
## 3. 下一步
|
|
135
152
|
|
|
136
|
-
|
|
153
|
+
请回答上述待明确问题,然后运行 `/6aspec:brown:specs` 定义需求规格。
|
|
137
154
|
```
|
|
138
155
|
|
|
139
156
|
7. **更新状态**
|
|
140
157
|
|
|
141
158
|
更新 `6aspecdoc/brown/<name>/status.json`:
|
|
159
|
+
|
|
160
|
+
**标准级流程**:
|
|
142
161
|
```json
|
|
143
162
|
{
|
|
144
|
-
"status": "
|
|
163
|
+
"status": "impact_pending",
|
|
164
|
+
"flowDepth": "standard",
|
|
145
165
|
"phases": {
|
|
166
|
+
"proposal": "done",
|
|
146
167
|
"understand": "done",
|
|
147
|
-
"
|
|
148
|
-
"
|
|
149
|
-
|
|
168
|
+
"impact": "pending",
|
|
169
|
+
"specs": "blocked",
|
|
170
|
+
"design": "blocked",
|
|
171
|
+
"tasks": "blocked",
|
|
172
|
+
"implement": "blocked"
|
|
150
173
|
},
|
|
151
|
-
"artifacts": ["
|
|
174
|
+
"artifacts": ["proposal.md", "understanding.md"]
|
|
152
175
|
}
|
|
153
176
|
```
|
|
154
177
|
|
|
178
|
+
**完整级流程**:
|
|
179
|
+
```json
|
|
180
|
+
{
|
|
181
|
+
"status": "impact_pending",
|
|
182
|
+
"flowDepth": "complete",
|
|
183
|
+
"phases": {
|
|
184
|
+
"proposal": "done",
|
|
185
|
+
"understand": "done",
|
|
186
|
+
"impact": "pending",
|
|
187
|
+
"specs": "blocked",
|
|
188
|
+
"design": "blocked",
|
|
189
|
+
"tasks": "blocked",
|
|
190
|
+
"implement": "blocked",
|
|
191
|
+
"verify": "blocked",
|
|
192
|
+
"review": "blocked"
|
|
193
|
+
},
|
|
194
|
+
"artifacts": ["proposal.md", "understanding.md"]
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
同时更新 `6aspecdoc/brown/<name>/requirement.md`:
|
|
199
|
+
- 更新"状态"字段为 `📋 Impact 待开始`
|
|
200
|
+
- 更新"最后修改"时间戳为 `<timestamp>`
|
|
201
|
+
- 更新"当前阶段"为 `Understand - 需求理解与现状分析(已完成)`
|
|
202
|
+
- 更新"下一步操作"为 `运行 /6aspec:brown:impact 继续下一阶段`
|
|
203
|
+
- 在"进度概览"中标记 Understand 阶段为已完成 `[x]`
|
|
204
|
+
|
|
155
205
|
8. **停止并等待用户指令**
|
|
156
206
|
|
|
157
207
|
**输出**
|
|
158
208
|
|
|
159
|
-
|
|
209
|
+
根据 `flowDepth` 显示不同的输出信息:
|
|
210
|
+
|
|
211
|
+
**标准级流程**:
|
|
212
|
+
```
|
|
213
|
+
## Understand 完成:<name>
|
|
214
|
+
|
|
215
|
+
**流程**: 标准级
|
|
216
|
+
**进度**: 2/6 阶段完成
|
|
217
|
+
|
|
218
|
+
### 分析结果
|
|
219
|
+
- 相关实体类:<数量>
|
|
220
|
+
- 相关服务类:<数量>
|
|
221
|
+
- 数据库表:<数量>
|
|
222
|
+
- 待明确问题:<数量>
|
|
223
|
+
|
|
224
|
+
### 关键发现
|
|
225
|
+
<列出 2-3 个关键发现>
|
|
226
|
+
|
|
227
|
+
### 待明确问题(重要)
|
|
228
|
+
<列出最重要的 3-5 个问题>
|
|
229
|
+
|
|
230
|
+
### 文档位置
|
|
231
|
+
6aspecdoc/brown/<name>/artifacts/understanding.md
|
|
232
|
+
|
|
233
|
+
### 下一步
|
|
234
|
+
- 直接回答上述待明确问题 → 我会更新本阶段文档(understanding.md)中的问题答案
|
|
235
|
+
- 运行 `/6aspec:brown:impact` → 进入影响面分析阶段
|
|
236
|
+
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**完整级流程**:
|
|
160
240
|
```
|
|
161
|
-
##
|
|
241
|
+
## Understand 完成:<name>
|
|
162
242
|
|
|
163
|
-
|
|
164
|
-
**进度**:
|
|
243
|
+
**流程**: 完整级
|
|
244
|
+
**进度**: 2/8 阶段完成
|
|
165
245
|
|
|
166
246
|
### 分析结果
|
|
167
247
|
- 相关实体类:<数量>
|
|
168
248
|
- 相关服务类:<数量>
|
|
169
249
|
- 数据库表:<数量>
|
|
170
|
-
-
|
|
250
|
+
- 待明确问题:<数量>
|
|
171
251
|
|
|
172
252
|
### 关键发现
|
|
173
253
|
<列出 2-3 个关键发现>
|
|
174
254
|
|
|
175
|
-
###
|
|
176
|
-
|
|
255
|
+
### 待明确问题(重要)
|
|
256
|
+
<列出最重要的 3-5 个问题>
|
|
177
257
|
|
|
178
258
|
### 文档位置
|
|
179
|
-
6aspecdoc/brown/<name>/artifacts/
|
|
259
|
+
6aspecdoc/brown/<name>/artifacts/understanding.md
|
|
180
260
|
|
|
181
261
|
### 下一步
|
|
182
|
-
-
|
|
183
|
-
- 运行 `/6aspec:brown:
|
|
262
|
+
- 直接回答上述待明确问题 → 我会更新本阶段文档(understanding.md)中的问题答案
|
|
263
|
+
- 运行 `/6aspec:brown:impact` → 进入影响面分析阶段
|
|
184
264
|
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
185
265
|
```
|
|
186
266
|
|
|
187
267
|
**用户补充信息时的处理**
|
|
188
268
|
|
|
189
|
-
|
|
190
|
-
1.
|
|
191
|
-
2.
|
|
192
|
-
3.
|
|
269
|
+
当用户回答待明确问题或补充需求信息时(未使用阶段命令):
|
|
270
|
+
1. 将用户的回答整合到 `understanding.md` 中对应的问题项(将"[待确认]"替换为实际答案)
|
|
271
|
+
2. 如果回答引发新的发现或问题,同步更新文档的相关章节
|
|
272
|
+
3. 展示变更摘要(更新了哪些问题的答案、新增了哪些发现)
|
|
193
273
|
4. 再次提示:可以继续补充,或通过命令进入下一阶段
|
|
194
274
|
5. **禁止**:不得自动进入下一阶段
|
|
195
275
|
|
|
196
276
|
**防护措施**
|
|
277
|
+
- 只适用于标准级和完整级流程
|
|
278
|
+
- 必须先完成proposal阶段
|
|
197
279
|
- 必须先读取需求描述再开始分析
|
|
198
280
|
- 如果找不到相关代码,询问用户提供更多关键词
|
|
199
281
|
- 如果分析不充分,不要强行生成文档,而是询问用户
|
|
200
|
-
-
|
|
282
|
+
- 待明确问题必须具体,避免模糊问题
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
# 棕地需求 - Update SOP
|
|
2
|
+
|
|
3
|
+
非破坏性地更新指定阶段的文档,支持简单模式和智能模式。
|
|
4
|
+
|
|
5
|
+
**输入**:
|
|
6
|
+
- `/6aspec:brown:update <requirement-name> <phase>` - 简单更新(默认)
|
|
7
|
+
- `/6aspec:brown:update <requirement-name> <phase> --smart` - 智能更新
|
|
8
|
+
- `/6aspec:brown:update <requirement-name> --history` - 查看更新历史
|
|
9
|
+
|
|
10
|
+
**适用场景**:
|
|
11
|
+
- ✅ 补充遗漏的信息
|
|
12
|
+
- ✅ 修正错别字、格式问题
|
|
13
|
+
- ✅ 澄清模糊的描述
|
|
14
|
+
- ✅ 添加新的考虑因素(不推翻原有决策)
|
|
15
|
+
- ✅ 调整优先级、时间估算等非核心内容
|
|
16
|
+
- ✅ 修正小的技术细节
|
|
17
|
+
|
|
18
|
+
**不适用场景(建议使用 rollback)**:
|
|
19
|
+
- ❌ 推翻核心决策(如技术方案选型)
|
|
20
|
+
- ❌ 发现前面阶段的分析有重大错误
|
|
21
|
+
- ❌ 需求发生根本性变化
|
|
22
|
+
- ❌ 影响范围太大,难以准确识别
|
|
23
|
+
- ❌ 需要重新思考整个方案
|
|
24
|
+
|
|
25
|
+
**支持的阶段**:
|
|
26
|
+
- `analyze` - 需求分析(相对稳定,不常需要 update)
|
|
27
|
+
- `proposal` - 需求提案(常见 update 场景)
|
|
28
|
+
- `specs` - 需求规格(常见 update 场景)
|
|
29
|
+
- `design` - 技术设计(常见 update 场景)
|
|
30
|
+
- `tasks` - 任务拆解(常见 update 场景)
|
|
31
|
+
|
|
32
|
+
**限制**:
|
|
33
|
+
- 只能更新已完成的阶段(状态为 "done")
|
|
34
|
+
- 不能更新已归档的需求
|
|
35
|
+
- 不能更新不存在的阶段文档
|
|
36
|
+
- 在实施阶段(implement、verify、review)使用时需要特别小心
|
|
37
|
+
|
|
38
|
+
**步骤**
|
|
39
|
+
|
|
40
|
+
1. **选择需求**
|
|
41
|
+
|
|
42
|
+
如果提供了名称,使用它。否则:
|
|
43
|
+
- 从对话上下文推断
|
|
44
|
+
- 如果模糊,读取 `6aspecdoc/brown/` 目录,让用户选择
|
|
45
|
+
|
|
46
|
+
2. **处理特殊选项**
|
|
47
|
+
|
|
48
|
+
**如果是 `--history` 选项**:
|
|
49
|
+
- 读取 `6aspecdoc/brown/<name>/artifacts/` 目录下的所有文档
|
|
50
|
+
- 提取每个文档末尾的"修改记录"部分
|
|
51
|
+
- 按时间顺序汇总显示所有更新历史
|
|
52
|
+
- 显示统计信息(总更新次数、最近更新时间等)
|
|
53
|
+
- 停止执行
|
|
54
|
+
|
|
55
|
+
3. **检查当前状态**
|
|
56
|
+
|
|
57
|
+
读取 `6aspecdoc/brown/<name>/status.json`:
|
|
58
|
+
- 确认需求未归档
|
|
59
|
+
- 确认目标阶段存在且状态为 "done"
|
|
60
|
+
- 确认对应的文档文件存在
|
|
61
|
+
|
|
62
|
+
4. **读取目标文档**
|
|
63
|
+
|
|
64
|
+
根据阶段名称读取对应文档:
|
|
65
|
+
- `analyze` → `artifacts/analysis.md`
|
|
66
|
+
- `proposal` → `artifacts/proposal.md`
|
|
67
|
+
- `specs` → `artifacts/specs.md`
|
|
68
|
+
- `design` → `artifacts/design.md`
|
|
69
|
+
- `tasks` → `artifacts/tasks-overview.md`
|
|
70
|
+
|
|
71
|
+
5. **获取用户修改需求**
|
|
72
|
+
|
|
73
|
+
询问用户要修改的内容:
|
|
74
|
+
```
|
|
75
|
+
问题:"请描述您要对 <phase> 阶段文档进行的修改:"
|
|
76
|
+
|
|
77
|
+
提示:
|
|
78
|
+
- 请具体描述要修改、补充或调整的内容
|
|
79
|
+
- 如果是补充信息,请说明要补充什么
|
|
80
|
+
- 如果是修正错误,请说明错误的地方和正确的内容
|
|
81
|
+
- 如果是调整描述,请说明要如何调整
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
6. **执行更新(根据模式)**
|
|
85
|
+
|
|
86
|
+
**简单模式(默认)**:
|
|
87
|
+
|
|
88
|
+
a. 根据用户描述修改目标文档
|
|
89
|
+
|
|
90
|
+
b. 在文档末尾添加或更新修改记录:
|
|
91
|
+
```markdown
|
|
92
|
+
## 修改记录
|
|
93
|
+
- 2026-02-27 10:30: <修改描述>(update)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
c. 分析可能受影响的后续文档,生成检查清单
|
|
97
|
+
|
|
98
|
+
d. 更新 status.json 中的 lastUpdate
|
|
99
|
+
|
|
100
|
+
e. 显示检查清单,提示用户手动检查后续文档
|
|
101
|
+
|
|
102
|
+
**智能模式(--smart)**:
|
|
103
|
+
|
|
104
|
+
a. 分析修改内容对后续文档的影响范围
|
|
105
|
+
|
|
106
|
+
b. 读取所有可能受影响的后续文档
|
|
107
|
+
|
|
108
|
+
c. 生成详细的更新计划:
|
|
109
|
+
```markdown
|
|
110
|
+
## 更新计划
|
|
111
|
+
|
|
112
|
+
### 修改内容
|
|
113
|
+
- <phase>.md: <修改描述>
|
|
114
|
+
|
|
115
|
+
### 影响分析
|
|
116
|
+
- <后续文档1>: 需要更新"<具体部分>"
|
|
117
|
+
- 位置:第 X.Y 节
|
|
118
|
+
- 修改:<具体修改内容>
|
|
119
|
+
- <后续文档2>: 不需要修改
|
|
120
|
+
|
|
121
|
+
### 风险评估
|
|
122
|
+
- <风险级别>:<风险描述>
|
|
123
|
+
- 建议:<执行建议>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
d. **等待用户确认**:
|
|
127
|
+
```
|
|
128
|
+
问题:"是否执行上述更新计划?"
|
|
129
|
+
选项:
|
|
130
|
+
- 确认执行更新
|
|
131
|
+
- 取消
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
e. 如果用户确认,批量执行所有更新:
|
|
135
|
+
- 修改目标文档
|
|
136
|
+
- 更新所有受影响的后续文档
|
|
137
|
+
- 在每个修改的文档末尾添加修改记录
|
|
138
|
+
|
|
139
|
+
f. 生成更新报告
|
|
140
|
+
|
|
141
|
+
7. **更新状态记录**
|
|
142
|
+
|
|
143
|
+
更新 `6aspecdoc/brown/<name>/status.json`:
|
|
144
|
+
|
|
145
|
+
a. 更新 `lastModified` 时间戳
|
|
146
|
+
|
|
147
|
+
b. 更新 `lastUpdate` 记录:
|
|
148
|
+
```json
|
|
149
|
+
"lastUpdate": {
|
|
150
|
+
"phase": "<phase>",
|
|
151
|
+
"timestamp": "<时间戳>",
|
|
152
|
+
"description": "<修改描述>",
|
|
153
|
+
"affectedPhases": ["<阶段1>", "<阶段2>"],
|
|
154
|
+
"mode": "simple|smart"
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
8. **显示更新结果**
|
|
159
|
+
|
|
160
|
+
**输出**
|
|
161
|
+
|
|
162
|
+
**简单模式输出**:
|
|
163
|
+
```
|
|
164
|
+
## 更新完成:<name>
|
|
165
|
+
|
|
166
|
+
**更新阶段**: <phase>
|
|
167
|
+
**更新时间**: <时间戳>
|
|
168
|
+
**更新模式**: 简单模式
|
|
169
|
+
|
|
170
|
+
### 修改内容
|
|
171
|
+
<修改描述>
|
|
172
|
+
|
|
173
|
+
### 影响分析和检查清单
|
|
174
|
+
|
|
175
|
+
#### 可能受影响的文档
|
|
176
|
+
- [ ] <文档1>: <检查要点>
|
|
177
|
+
- [ ] <文档2>: <检查要点>
|
|
178
|
+
|
|
179
|
+
#### 建议
|
|
180
|
+
<具体检查建议>
|
|
181
|
+
|
|
182
|
+
### 下一步
|
|
183
|
+
请根据检查清单逐一检查可能受影响的文档,必要时手动调整。
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**智能模式输出**:
|
|
187
|
+
```
|
|
188
|
+
## 更新完成:<name>
|
|
189
|
+
|
|
190
|
+
**更新阶段**: <phase>
|
|
191
|
+
**更新时间**: <时间戳>
|
|
192
|
+
**更新模式**: 智能模式
|
|
193
|
+
|
|
194
|
+
### 修改内容
|
|
195
|
+
<修改描述>
|
|
196
|
+
|
|
197
|
+
### 联动更新
|
|
198
|
+
- <文档1>: <更新内容>
|
|
199
|
+
- <文档2>: <更新内容>
|
|
200
|
+
|
|
201
|
+
### 修改摘要
|
|
202
|
+
- 共修改 N 个文件
|
|
203
|
+
- 新增 X 字
|
|
204
|
+
- 修改 Y 处
|
|
205
|
+
|
|
206
|
+
### 建议
|
|
207
|
+
请人工复查关键文档,确认修改内容符合预期。
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**历史查看输出**:
|
|
211
|
+
```
|
|
212
|
+
## 更新历史:<name>
|
|
213
|
+
|
|
214
|
+
### 更新记录
|
|
215
|
+
1. **2026-02-27 10:30** - proposal
|
|
216
|
+
- 描述:补充业务背景说明
|
|
217
|
+
|
|
218
|
+
2. **2026-02-26 15:20** - specs
|
|
219
|
+
- 描述:调整性能指标要求
|
|
220
|
+
|
|
221
|
+
### 统计
|
|
222
|
+
- 总更新次数:2
|
|
223
|
+
- 最近更新:2026-02-27 10:30
|
|
224
|
+
- 涉及阶段:proposal, specs
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**依赖关系和影响分析规则**
|
|
228
|
+
|
|
229
|
+
根据文档依赖关系确定影响范围:
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
analyze (需求分析)
|
|
233
|
+
↓
|
|
234
|
+
proposal (Why, What, Impact)
|
|
235
|
+
↓
|
|
236
|
+
specs (功能需求、验收标准)
|
|
237
|
+
↓
|
|
238
|
+
design (技术方案)
|
|
239
|
+
↓
|
|
240
|
+
tasks (任务拆解)
|
|
241
|
+
↓
|
|
242
|
+
implement (代码实现)
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
**影响分析矩阵**:
|
|
246
|
+
|
|
247
|
+
| 修改位置 | 可能影响的文档 | 影响程度 | 检查重点 |
|
|
248
|
+
|---------|--------------|---------|---------|
|
|
249
|
+
| analyze.现状 | proposal | 中 | 需求背景、影响面 |
|
|
250
|
+
| analyze.影响面 | proposal, design | 中 | 需求范围、非功能需求 |
|
|
251
|
+
| proposal.Why | specs, design | 中 | 优先级、技术选型 |
|
|
252
|
+
| proposal.What | specs, design, tasks | 高 | 功能需求、技术方案、任务拆解 |
|
|
253
|
+
| proposal.Impact | design | 低 | 非功能需求 |
|
|
254
|
+
| specs.功能需求 | design, tasks | 高 | 技术方案、任务拆解 |
|
|
255
|
+
| specs.验收标准 | tasks | 中 | 任务定义、测试用例 |
|
|
256
|
+
| design.技术方案 | tasks | 高 | 任务拆解、工作量估算 |
|
|
257
|
+
| design.技术选型 | tasks | 中 | 技术栈、工作量估算 |
|
|
258
|
+
|
|
259
|
+
**防护措施**
|
|
260
|
+
- 必须确认需求未归档
|
|
261
|
+
- 必须确认目标阶段已完成(状态为 "done")
|
|
262
|
+
- 必须确认对应文档文件存在
|
|
263
|
+
- 智能模式必须等待用户确认后才执行更新
|
|
264
|
+
- 在实施阶段使用时特别提示代码一致性问题
|
|
265
|
+
- 记录所有更新历史,支持追溯
|
|
266
|
+
- 生成的检查清单必须具体明确
|
|
267
|
+
- 智能模式的影响分析必须准确,避免误判
|
|
268
|
+
|
|
269
|
+
**错误处理**
|
|
270
|
+
|
|
271
|
+
- 如果需求不存在,提示创建新需求
|
|
272
|
+
- 如果需求已归档,提示先取消归档
|
|
273
|
+
- 如果目标阶段不存在或未完成,提示阶段状态
|
|
274
|
+
- 如果对应文档文件不存在,提示文件缺失
|
|
275
|
+
- 如果在实施阶段使用,特别提示:
|
|
276
|
+
```
|
|
277
|
+
⚠️ 警告:当前需求处于实施阶段,更新文档后请检查代码是否需要相应调整。
|
|
278
|
+
如果修改影响代码实现,建议使用 rollback 或创建新需求。
|
|
279
|
+
```
|
|
280
|
+
- 如果智能模式影响分析失败,降级为简单模式
|
|
281
|
+
- 如果用户取消智能模式的更新计划,停止执行
|
|
282
|
+
- 如果文档修改失败,回滚已修改的文件并报告错误
|
|
283
|
+
- 如果--history选项找不到修改记录,显示"暂无更新历史"
|