6aspec 2.0.0-dev.3 → 2.0.0-dev.30
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_archive_sop.md +17 -11
- package/.6aspec/rules/brown/brown_constitution.md +11 -0
- package/.6aspec/rules/brown/brown_continue_sop.md +10 -3
- package/.6aspec/rules/brown/brown_design_sop.md +285 -71
- package/.6aspec/rules/brown/brown_explore_sop.md +314 -0
- package/.6aspec/rules/brown/brown_ff_sop.md +31 -18
- package/.6aspec/rules/brown/brown_impact_sop.md +101 -45
- package/.6aspec/rules/brown/brown_implement_sop.md +127 -43
- package/.6aspec/rules/brown/brown_list_sop.md +12 -12
- package/.6aspec/rules/brown/brown_new_sop.md +63 -38
- package/.6aspec/rules/brown/brown_proposal_sop.md +286 -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 +29 -19
- package/.6aspec/rules/brown/brown_specs_sop.md +412 -120
- package/.6aspec/rules/brown/brown_status_sop.md +13 -3
- package/.6aspec/rules/brown/brown_tasks_sop.md +212 -83
- package/.6aspec/rules/brown/brown_understand_sop.md +111 -40
- package/.6aspec/rules/brown/brown_update_sop.md +287 -0
- package/.6aspec/rules/brown/brown_verify_sop.md +138 -58
- 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/commands/6aspec/brown/explore.md +11 -0
- package/.claude/commands/6aspec/brown/update.md +11 -0
- 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/commands/opsx/apply.md +152 -0
- package/.claude/commands/opsx/archive.md +157 -0
- package/.claude/commands/opsx/bulk-archive.md +242 -0
- package/.claude/commands/opsx/continue.md +114 -0
- package/.claude/commands/opsx/explore.md +174 -0
- package/.claude/commands/opsx/ff.md +94 -0
- package/.claude/commands/opsx/new.md +69 -0
- package/.claude/commands/opsx/onboard.md +525 -0
- package/.claude/commands/opsx/sync.md +134 -0
- package/.claude/commands/opsx/verify.md +164 -0
- 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/.cursor/commands/opsx-apply.md +152 -0
- package/.cursor/commands/opsx-archive.md +157 -0
- package/.cursor/commands/opsx-bulk-archive.md +242 -0
- package/.cursor/commands/opsx-continue.md +114 -0
- package/.cursor/commands/opsx-explore.md +174 -0
- package/.cursor/commands/opsx-ff.md +94 -0
- package/.cursor/commands/opsx-new.md +69 -0
- package/.cursor/commands/opsx-onboard.md +525 -0
- package/.cursor/commands/opsx-sync.md +134 -0
- package/.cursor/commands/opsx-verify.md +164 -0
- package/README.md +1 -1
- package/bin/6aspec +17 -1
- package/lib/cli.js +1 -1
- 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
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
# 棕地需求 - Explore SOP
|
|
2
|
+
|
|
3
|
+
进入探索模式 - 深入思考、自由探索、澄清需求
|
|
4
|
+
|
|
5
|
+
**流程定位**:这是一种探索姿态(stance),而非固定工作流。可以在任何阶段使用,帮助理解问题、探索方案、挑战假设。
|
|
6
|
+
|
|
7
|
+
**输入**:`/6aspec:brown:explore` 后可选需求名称或探索主题。可以是:
|
|
8
|
+
- 需求名称:"user-permission-refactor"
|
|
9
|
+
- 模糊想法:"权限系统重构"
|
|
10
|
+
- 具体问题:"现有的权限检查逻辑为什么这么慢"
|
|
11
|
+
- 方案比较:"Redis vs 内存缓存"
|
|
12
|
+
- 或者什么都不提供(进入开放探索)
|
|
13
|
+
|
|
14
|
+
**核心理念**:
|
|
15
|
+
- 你是思考伙伴,不是执行工具
|
|
16
|
+
- 没有固定步骤,没有时间限制,没有强制输出
|
|
17
|
+
- 探索本身就是价值,thinking IS the value
|
|
18
|
+
- 默认不生成文档,除非用户明确要求
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 探索姿态
|
|
23
|
+
|
|
24
|
+
**好奇而非指令式**
|
|
25
|
+
- 提出自然涌现的问题,不遵循脚本
|
|
26
|
+
- 开放多个有趣的方向,让用户选择感兴趣的
|
|
27
|
+
- 不要把用户引导到单一路径
|
|
28
|
+
|
|
29
|
+
**可视化优先**
|
|
30
|
+
- 自由使用 ASCII 图表帮助澄清思考
|
|
31
|
+
- 系统架构图、状态机、数据流、依赖关系、对比表格
|
|
32
|
+
```
|
|
33
|
+
示例:
|
|
34
|
+
┌─────────────┐ ┌─────────────┐
|
|
35
|
+
│ 现有方案 │────────▶│ 新方案 │
|
|
36
|
+
│ (问题点) │ │ (改进点) │
|
|
37
|
+
└─────────────┘ └─────────────┘
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**适应性强**
|
|
41
|
+
- 跟随有趣的线索
|
|
42
|
+
- 当新信息出现时及时调整方向
|
|
43
|
+
- 不急于得出结论,让问题的形状自然浮现
|
|
44
|
+
|
|
45
|
+
**扎根现实**
|
|
46
|
+
- 探索实际代码库,不只是理论推测
|
|
47
|
+
- 理解现有模式和架构
|
|
48
|
+
- 识别隐藏的复杂性
|
|
49
|
+
|
|
50
|
+
**挑战假设**
|
|
51
|
+
- 质疑用户的假设(也质疑自己的)
|
|
52
|
+
- 重新框定问题
|
|
53
|
+
- 寻找类比和替代视角
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 探索方式
|
|
58
|
+
|
|
59
|
+
根据用户带来的内容,你可能会:
|
|
60
|
+
|
|
61
|
+
### 探索问题空间
|
|
62
|
+
- 提出澄清性问题
|
|
63
|
+
- 挑战假设
|
|
64
|
+
- 重新框定问题
|
|
65
|
+
- 寻找类比
|
|
66
|
+
|
|
67
|
+
### 调查代码库
|
|
68
|
+
- 映射与讨论相关的现有架构
|
|
69
|
+
- 找到集成点
|
|
70
|
+
- 识别已使用的模式
|
|
71
|
+
- 发现隐藏的复杂性
|
|
72
|
+
|
|
73
|
+
### 比较方案
|
|
74
|
+
- 头脑风暴多种方法
|
|
75
|
+
- 构建对比表格
|
|
76
|
+
- 勾勒权衡
|
|
77
|
+
- 推荐路径(如果被问到)
|
|
78
|
+
|
|
79
|
+
### 可视化思考
|
|
80
|
+
- 使用 ASCII 图表展示架构、流程、状态转换
|
|
81
|
+
- 绘制依赖关系图
|
|
82
|
+
- 创建对比表格
|
|
83
|
+
|
|
84
|
+
### 识别风险和未知
|
|
85
|
+
- 识别可能出错的地方
|
|
86
|
+
- 找到理解上的空白
|
|
87
|
+
- 建议尖峰调查或深入研究
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 与 Brown 流程的集成
|
|
92
|
+
|
|
93
|
+
### 启动探索
|
|
94
|
+
|
|
95
|
+
1. **识别上下文**
|
|
96
|
+
|
|
97
|
+
如果用户提供了需求名称,读取现有内容:
|
|
98
|
+
```bash
|
|
99
|
+
# 检查需求是否存在
|
|
100
|
+
ls 6aspecdoc/brown/<name>/
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
读取相关文件获取上下文:
|
|
104
|
+
- `requirement.md` - 原始需求
|
|
105
|
+
- `proposal.md` - 需求提案(如果存在)
|
|
106
|
+
- `design.md` - 技术方案(如果存在)
|
|
107
|
+
- 其他已有的工件
|
|
108
|
+
|
|
109
|
+
2. **自然引用现有内容**
|
|
110
|
+
|
|
111
|
+
在对话中自然引用已有的决策和内容:
|
|
112
|
+
- "你的 proposal 提到要支持角色继承,但我们现在发现..."
|
|
113
|
+
- "design 中选择了 Redis,但考虑到..."
|
|
114
|
+
- "原始需求说要支持 1000 并发,这意味着..."
|
|
115
|
+
|
|
116
|
+
### 探索过程中
|
|
117
|
+
|
|
118
|
+
**自由探索,不受限制**
|
|
119
|
+
- 可以深入代码库
|
|
120
|
+
- 可以绘制架构图
|
|
121
|
+
- 可以比较多个方案
|
|
122
|
+
- 可以质疑需求本身
|
|
123
|
+
- 可以发现新的问题
|
|
124
|
+
|
|
125
|
+
**提供捕获建议(但不强制)**
|
|
126
|
+
|
|
127
|
+
当有重要洞察时,可以提议捕获:
|
|
128
|
+
|
|
129
|
+
| 洞察类型 | 建议捕获位置 |
|
|
130
|
+
|---------|------------|
|
|
131
|
+
| 发现新需求 | "这是个新需求,要加到 requirement.md 吗?" |
|
|
132
|
+
| 需求变更 | "这改变了原始需求,要更新 requirement.md 吗?" |
|
|
133
|
+
| 设计决策 | "这是个设计决策,要记录到 design.md 吗?" |
|
|
134
|
+
| 范围变化 | "这改变了范围,要更新 proposal 吗?" |
|
|
135
|
+
| 识别新任务 | "这是新的工作项,要加到 tasks.md 吗?" |
|
|
136
|
+
| 假设失效 | "这个假设不成立,要更新相关文档吗?" |
|
|
137
|
+
|
|
138
|
+
**用户决定** - 只是提议,不施压,不自动捕获。
|
|
139
|
+
|
|
140
|
+
### 结束探索
|
|
141
|
+
|
|
142
|
+
探索没有固定的结束方式,可能:
|
|
143
|
+
|
|
144
|
+
**流入行动**
|
|
145
|
+
- "思路清晰了,要开始 `/6aspec:brown:proposal` 吗?"
|
|
146
|
+
- "要继续下一阶段吗?"
|
|
147
|
+
|
|
148
|
+
**生成探索摘要(可选)**
|
|
149
|
+
- 用户可以要求:"生成探索摘要"
|
|
150
|
+
- 创建 `6aspecdoc/brown/<name>/explore-summary.md`
|
|
151
|
+
- 内容根据实际探索过程动态生成,不是固定模板
|
|
152
|
+
- 可用于后续的 proposal、design 或其他阶段
|
|
153
|
+
|
|
154
|
+
**仅提供澄清**
|
|
155
|
+
- 用户获得了需要的理解,继续其他工作
|
|
156
|
+
- 不需要任何文档或后续行动
|
|
157
|
+
|
|
158
|
+
**稍后继续**
|
|
159
|
+
- "我们随时可以继续探索"
|
|
160
|
+
- 探索可以暂停,随时恢复
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 生成探索摘要
|
|
165
|
+
|
|
166
|
+
**触发条件**:用户明确要求"生成探索摘要"或类似表达
|
|
167
|
+
|
|
168
|
+
**生成位置**:`6aspecdoc/brown/<name>/explore-summary.md`
|
|
169
|
+
|
|
170
|
+
**更新策略**:
|
|
171
|
+
|
|
172
|
+
1. **第一次生成**:
|
|
173
|
+
- 如果 explore-summary.md 不存在,创建新文件
|
|
174
|
+
- 包含当前探索的发现
|
|
175
|
+
|
|
176
|
+
2. **后续探索**:
|
|
177
|
+
- 如果 explore-summary.md 已存在,询问用户:
|
|
178
|
+
```
|
|
179
|
+
问题:"explore-summary.md 已存在,如何处理?"
|
|
180
|
+
选项:
|
|
181
|
+
- 更新(整合新发现到现有内容)(推荐)
|
|
182
|
+
- 重新生成(替换全部内容)
|
|
183
|
+
```
|
|
184
|
+
- **更新模式**(推荐):
|
|
185
|
+
- 整合新发现到"当前理解"部分
|
|
186
|
+
- 更新"关键决策"和"未解问题"
|
|
187
|
+
- 在"探索历史"部分添加新的探索记录
|
|
188
|
+
- 更新"最后更新"时间戳
|
|
189
|
+
- **重新生成模式**:
|
|
190
|
+
- 替换整个文件内容
|
|
191
|
+
- 只包含当前探索的发现
|
|
192
|
+
|
|
193
|
+
**文件结构**:
|
|
194
|
+
|
|
195
|
+
```markdown
|
|
196
|
+
# Explore Summary: <需求标题>
|
|
197
|
+
|
|
198
|
+
> **需求**: <name>
|
|
199
|
+
> **最后更新**: <timestamp>
|
|
200
|
+
|
|
201
|
+
## 当前理解
|
|
202
|
+
|
|
203
|
+
<最新的、综合的理解和发现>
|
|
204
|
+
<整合所有探索的核心洞察>
|
|
205
|
+
|
|
206
|
+
## 关键决策
|
|
207
|
+
|
|
208
|
+
<已做出的重要决策及其理由>
|
|
209
|
+
- 决策1:<描述及理由>
|
|
210
|
+
- 决策2:<描述及理由>
|
|
211
|
+
|
|
212
|
+
## 未解问题
|
|
213
|
+
|
|
214
|
+
<仍需进一步调查的问题>
|
|
215
|
+
- 问题1:<描述>
|
|
216
|
+
- 问题2:<描述>
|
|
217
|
+
|
|
218
|
+
## 架构洞察
|
|
219
|
+
|
|
220
|
+
<可选:ASCII 图表展示架构理解>
|
|
221
|
+
|
|
222
|
+
```
|
|
223
|
+
┌─────────────┐ ┌─────────────┐
|
|
224
|
+
│ 组件 A │────────▶│ 组件 B │
|
|
225
|
+
└─────────────┘ └─────────────┘
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 探索历史
|
|
231
|
+
|
|
232
|
+
### 探索 #1 - <日期> - <探索主题>
|
|
233
|
+
|
|
234
|
+
**探索时间**: <timestamp>
|
|
235
|
+
|
|
236
|
+
**探索内容**:
|
|
237
|
+
<这次探索的具体内容>
|
|
238
|
+
|
|
239
|
+
**关键发现**:
|
|
240
|
+
- 发现1
|
|
241
|
+
- 发现2
|
|
242
|
+
|
|
243
|
+
**决策**:
|
|
244
|
+
- 决策1
|
|
245
|
+
|
|
246
|
+
### 探索 #2 - <日期> - <探索主题>
|
|
247
|
+
|
|
248
|
+
**探索时间**: <timestamp>
|
|
249
|
+
|
|
250
|
+
**探索内容**:
|
|
251
|
+
<这次探索的具体内容>
|
|
252
|
+
|
|
253
|
+
**关键发现**:
|
|
254
|
+
- 发现1
|
|
255
|
+
- 发现2
|
|
256
|
+
|
|
257
|
+
**决策**:
|
|
258
|
+
- 决策1
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**内容原则**:
|
|
262
|
+
- 根据实际探索过程动态生成
|
|
263
|
+
- 不使用固定模板,内容应反映真实的探索路径
|
|
264
|
+
- "当前理解"部分应该是综合的、最新的结论
|
|
265
|
+
- "探索历史"部分按时间顺序记录每次探索
|
|
266
|
+
- 可以包含 ASCII 图表
|
|
267
|
+
- 简洁但完整
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## 你不必做的事
|
|
272
|
+
|
|
273
|
+
- 遵循脚本
|
|
274
|
+
- 每次问相同的问题
|
|
275
|
+
- 产生特定的工件
|
|
276
|
+
- 得出结论
|
|
277
|
+
- 如果有价值的话题出现就保持主题
|
|
278
|
+
- 保持简短(这是思考时间)
|
|
279
|
+
- 快速完成(没有时间限制)
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## 防护措施
|
|
284
|
+
|
|
285
|
+
**不要实施代码**
|
|
286
|
+
- 永远不要编写应用代码或实现功能
|
|
287
|
+
- 创建 6aspec 工件(proposal、design、specs)是可以的
|
|
288
|
+
- 探索代码库、阅读文件、搜索代码都可以
|
|
289
|
+
- 但不要修改应用代码
|
|
290
|
+
|
|
291
|
+
**不要伪装理解**
|
|
292
|
+
- 如果不清楚,深入挖掘
|
|
293
|
+
- 承认不确定性
|
|
294
|
+
|
|
295
|
+
**不要急于求成**
|
|
296
|
+
- 探索是思考时间,不是任务时间
|
|
297
|
+
- 让理解自然浮现
|
|
298
|
+
|
|
299
|
+
**不要强加结构**
|
|
300
|
+
- 让模式自然涌现
|
|
301
|
+
- 不要强制套用模板
|
|
302
|
+
|
|
303
|
+
**不要自动捕获**
|
|
304
|
+
- 提议保存洞察,但不要自动执行
|
|
305
|
+
- 让用户决定
|
|
306
|
+
|
|
307
|
+
**要可视化**
|
|
308
|
+
- 好的图表胜过千言万语
|
|
309
|
+
|
|
310
|
+
**要探索代码库**
|
|
311
|
+
- 让讨论扎根于现实
|
|
312
|
+
|
|
313
|
+
**要质疑假设**
|
|
314
|
+
- 包括用户的和你自己的
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
3. **根据流程深度确定要执行的阶段**
|
|
26
26
|
|
|
27
27
|
**轻量级(lightweight)**:
|
|
28
|
-
- proposal → design → tasks
|
|
28
|
+
- proposal → specs → design → tasks
|
|
29
29
|
|
|
30
30
|
**标准级(standard)**:
|
|
31
|
-
- understand →
|
|
31
|
+
- understand → impact → proposal → specs → design → tasks
|
|
32
32
|
|
|
33
33
|
**完整级(complete)**:
|
|
34
|
-
- understand →
|
|
34
|
+
- understand → impact → proposal → specs → design → tasks → verify → review
|
|
35
35
|
|
|
36
36
|
**快速通道(quick)**:
|
|
37
37
|
- 提示使用 `/6aspec:brown:quick` 命令
|
|
@@ -52,12 +52,17 @@
|
|
|
52
52
|
- 显示简要进度:"✓ Proposal 完成"
|
|
53
53
|
- 更新待办事项
|
|
54
54
|
|
|
55
|
-
b. **
|
|
55
|
+
b. **Specs**
|
|
56
|
+
- 执行 `/6aspec:brown:specs` 的逻辑
|
|
57
|
+
- 显示简要进度:"✓ Specs 完成"
|
|
58
|
+
- 更新待办事项
|
|
59
|
+
|
|
60
|
+
c. **Design**
|
|
56
61
|
- 执行 `/6aspec:brown:design` 的逻辑
|
|
57
62
|
- 显示简要进度:"✓ Design 完成"
|
|
58
63
|
- 更新待办事项
|
|
59
64
|
|
|
60
|
-
|
|
65
|
+
d. **Tasks**
|
|
61
66
|
- 执行 `/6aspec:brown:tasks` 的逻辑
|
|
62
67
|
- 显示简要进度:"✓ Tasks 完成"
|
|
63
68
|
- 更新待办事项
|
|
@@ -69,23 +74,28 @@
|
|
|
69
74
|
- 显示简要进度:"✓ Understand 完成"
|
|
70
75
|
- 更新待办事项
|
|
71
76
|
|
|
72
|
-
b. **
|
|
77
|
+
b. **Impact**
|
|
78
|
+
- 执行 `/6aspec:brown:impact` 的逻辑
|
|
79
|
+
- 显示简要进度:"✓ Impact 完成"
|
|
80
|
+
- 更新待办事项
|
|
81
|
+
|
|
82
|
+
c. **Proposal**
|
|
83
|
+
- 执行 `/6aspec:brown:proposal` 的逻辑
|
|
84
|
+
- 显示简要进度:"✓ Proposal 完成"
|
|
85
|
+
- 更新待办事项
|
|
86
|
+
|
|
87
|
+
d. **Specs**
|
|
73
88
|
- 如果需要用户输入(待明确问题),询问用户
|
|
74
89
|
- 执行 `/6aspec:brown:specs` 的逻辑
|
|
75
90
|
- 显示简要进度:"✓ Specs 完成"
|
|
76
91
|
- 更新待办事项
|
|
77
92
|
|
|
78
|
-
|
|
79
|
-
- 执行 `/6aspec:brown:impact` 的逻辑
|
|
80
|
-
- 显示简要进度:"✓ Impact 完成"
|
|
81
|
-
- 更新待办事项
|
|
82
|
-
|
|
83
|
-
d. **Design**
|
|
93
|
+
e. **Design**
|
|
84
94
|
- 执行 `/6aspec:brown:design` 的逻辑
|
|
85
95
|
- 显示简要进度:"✓ Design 完成"
|
|
86
96
|
- 更新待办事项
|
|
87
97
|
|
|
88
|
-
|
|
98
|
+
f. **Tasks**
|
|
89
99
|
- 执行 `/6aspec:brown:tasks` 的逻辑
|
|
90
100
|
- 显示简要进度:"✓ Tasks 完成"
|
|
91
101
|
- 更新待办事项
|
|
@@ -111,10 +121,11 @@
|
|
|
111
121
|
## 快速分析完成:<name>
|
|
112
122
|
|
|
113
123
|
**流程深度**: 轻量级
|
|
114
|
-
**进度**:
|
|
124
|
+
**进度**: 4/4 阶段完成(分析阶段全部完成)
|
|
115
125
|
|
|
116
126
|
### 生成的文档
|
|
117
127
|
- ✓ proposal.md - 需求提案
|
|
128
|
+
- ✓ specs.md - 需求规格定义
|
|
118
129
|
- ✓ design.md - 技术方案设计
|
|
119
130
|
- ✓ tasks.md - 任务拆解
|
|
120
131
|
|
|
@@ -133,12 +144,13 @@
|
|
|
133
144
|
## 快速分析完成:<name>
|
|
134
145
|
|
|
135
146
|
**流程深度**: 标准级
|
|
136
|
-
**进度**:
|
|
147
|
+
**进度**: 6/6 阶段完成(分析阶段全部完成)
|
|
137
148
|
|
|
138
149
|
### 生成的文档
|
|
139
150
|
- ✓ understanding.md - 需求理解与现状分析
|
|
140
|
-
- ✓ specs.md - 需求规格定义
|
|
141
151
|
- ✓ impact-analysis.md - 影响面分析
|
|
152
|
+
- ✓ proposal.md - 需求提案
|
|
153
|
+
- ✓ specs.md - 需求规格定义
|
|
142
154
|
- ✓ design.md - 技术方案设计
|
|
143
155
|
- ✓ tasks.md - 任务拆解
|
|
144
156
|
|
|
@@ -160,12 +172,13 @@
|
|
|
160
172
|
## 快速分析完成:<name>
|
|
161
173
|
|
|
162
174
|
**流程深度**: 完整级
|
|
163
|
-
**进度**:
|
|
175
|
+
**进度**: 6/8 阶段完成(分析阶段全部完成)
|
|
164
176
|
|
|
165
177
|
### 生成的文档
|
|
166
178
|
- ✓ understanding.md - 需求理解与现状分析
|
|
167
|
-
- ✓ specs.md - 需求规格定义
|
|
168
179
|
- ✓ impact-analysis.md - 影响面分析
|
|
180
|
+
- ✓ proposal.md - 需求提案
|
|
181
|
+
- ✓ specs.md - 需求规格定义
|
|
169
182
|
- ✓ design.md - 技术方案设计
|
|
170
183
|
- ✓ tasks.md - 任务拆解
|
|
171
184
|
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# 棕地需求 - Impact SOP
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
影响面分析与非功能需求评估
|
|
4
|
+
|
|
5
|
+
**适用流程**:标准级、完整级
|
|
6
|
+
|
|
7
|
+
**流程定位**:标准级/完整级的第二阶段,基于 understand 的现状分析评估变更影响
|
|
4
8
|
|
|
5
9
|
**输入**:`/6aspec:brown:impact` 后可选需求名称。如果省略,从上下文推断或提示选择。
|
|
6
10
|
|
|
@@ -9,24 +13,20 @@ Phase 2: 影响面分析与非功能需求评估
|
|
|
9
13
|
1. **选择需求并检查状态**
|
|
10
14
|
|
|
11
15
|
- 读取 `6aspecdoc/brown/<name>/status.json`
|
|
12
|
-
-
|
|
13
|
-
-
|
|
16
|
+
- 确认流程深度为 "standard" 或 "complete"
|
|
17
|
+
- 如果是 "lightweight",提示轻量级流程不需要impact阶段,应该直接运行 `/6aspec:brown:design`
|
|
18
|
+
- 确认 `phases.understand` 为 "done"
|
|
19
|
+
- 如果understand未完成,提示先运行 `/6aspec:brown:understand`
|
|
14
20
|
|
|
15
21
|
2. **读取前置文档**
|
|
16
22
|
|
|
17
23
|
读取以下文档获取上下文:
|
|
18
|
-
- `6aspecdoc/brown/<name>/requirement.md` -
|
|
19
|
-
- `6aspecdoc/brown/<name>/artifacts/
|
|
20
|
-
- `6aspecdoc/brown/<name>/artifacts/01.5-specs.md` - 需求规格
|
|
21
|
-
|
|
22
|
-
3. **收集待明确问题的答案**
|
|
24
|
+
- `6aspecdoc/brown/<name>/artifacts/original-requirement.md` - 原始需求
|
|
25
|
+
- `6aspecdoc/brown/<name>/artifacts/understanding.md` - 现状分析(含业务规则答案)
|
|
23
26
|
|
|
24
|
-
|
|
25
|
-
如果没有,询问用户关键问题。
|
|
27
|
+
**注意**:Impact 阶段不依赖 proposal,基于原始需求和现状分析来评估影响面。
|
|
26
28
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
4. **执行影响面分析**
|
|
29
|
+
3. **执行影响面分析**
|
|
30
30
|
|
|
31
31
|
分析以下维度:
|
|
32
32
|
|
|
@@ -58,7 +58,7 @@ Phase 2: 影响面分析与非功能需求评估
|
|
|
58
58
|
- 错误提示是否友好
|
|
59
59
|
- 是否需要多语言支持
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
4. **执行非功能需求评估**
|
|
62
62
|
|
|
63
63
|
评估以下维度:
|
|
64
64
|
|
|
@@ -86,7 +86,7 @@ Phase 2: 影响面分析与非功能需求评估
|
|
|
86
86
|
- 是否需要文档更新
|
|
87
87
|
- 是否需要培训
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
5. **创建函数映射表**
|
|
90
90
|
|
|
91
91
|
创建详细的函数级影响映射:
|
|
92
92
|
```markdown
|
|
@@ -96,18 +96,21 @@ Phase 2: 影响面分析与非功能需求评估
|
|
|
96
96
|
| 领域服务 | XxxDomainService | save() | 🔴 重要修改 | 必填校验+不可修改约束 | P0 |
|
|
97
97
|
```
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
6. **创建影响面分析文档**
|
|
100
100
|
|
|
101
|
-
创建 `6aspecdoc/brown/<name>/artifacts/
|
|
101
|
+
创建 `6aspecdoc/brown/<name>/artifacts/impact-analysis.md`:
|
|
102
102
|
```markdown
|
|
103
|
-
#
|
|
103
|
+
# 影响面分析与非功能需求评估
|
|
104
104
|
|
|
105
105
|
> **需求**: <name>
|
|
106
|
-
>
|
|
106
|
+
> **流程**: <flowDepth>
|
|
107
|
+
> **阶段**: Impact
|
|
107
108
|
> **状态**: ✅ 已完成
|
|
108
109
|
> **完成时间**: <timestamp>
|
|
109
110
|
|
|
110
|
-
## 1.
|
|
111
|
+
## 1. 业务规则总结
|
|
112
|
+
|
|
113
|
+
基于 understanding.md 中收集的业务规则答案,总结关键业务规则:
|
|
111
114
|
|
|
112
115
|
| 规则 | 答案 | 说明 |
|
|
113
116
|
|------|------|------|
|
|
@@ -218,43 +221,72 @@ Phase 2: 影响面分析与非功能需求评估
|
|
|
218
221
|
### 关键风险
|
|
219
222
|
<列出 2-3 个关键风险>
|
|
220
223
|
|
|
221
|
-
### 工作量预估
|
|
222
|
-
- 后端开发:<预估>
|
|
223
|
-
- 前端开发:<预估>
|
|
224
|
-
- 测试:<预估>
|
|
225
|
-
- 总计:<预估>
|
|
226
|
-
|
|
227
224
|
## 6. 下一步
|
|
228
225
|
|
|
229
226
|
运行 `/6aspec:brown:design` 进行技术方案设计。
|
|
230
227
|
```
|
|
231
228
|
|
|
232
|
-
|
|
229
|
+
7. **更新状态**
|
|
233
230
|
|
|
234
231
|
更新 `6aspecdoc/brown/<name>/status.json`:
|
|
232
|
+
|
|
233
|
+
**标准级流程**:
|
|
235
234
|
```json
|
|
236
235
|
{
|
|
237
|
-
"status": "
|
|
236
|
+
"status": "proposal_pending",
|
|
237
|
+
"flowDepth": "standard",
|
|
238
238
|
"phases": {
|
|
239
239
|
"understand": "done",
|
|
240
240
|
"impact": "done",
|
|
241
|
-
"
|
|
242
|
-
|
|
241
|
+
"proposal": "pending",
|
|
242
|
+
"specs": "blocked",
|
|
243
|
+
"design": "blocked",
|
|
244
|
+
"tasks": "blocked",
|
|
245
|
+
"implement": "blocked"
|
|
243
246
|
},
|
|
244
|
-
"artifacts": ["
|
|
247
|
+
"artifacts": ["understanding.md", "impact-analysis.md"]
|
|
245
248
|
}
|
|
246
249
|
```
|
|
247
250
|
|
|
248
|
-
|
|
251
|
+
**完整级流程**:
|
|
252
|
+
```json
|
|
253
|
+
{
|
|
254
|
+
"status": "proposal_pending",
|
|
255
|
+
"flowDepth": "complete",
|
|
256
|
+
"phases": {
|
|
257
|
+
"understand": "done",
|
|
258
|
+
"impact": "done",
|
|
259
|
+
"proposal": "pending",
|
|
260
|
+
"specs": "blocked",
|
|
261
|
+
"design": "blocked",
|
|
262
|
+
"tasks": "blocked",
|
|
263
|
+
"implement": "blocked",
|
|
264
|
+
"verify": "blocked",
|
|
265
|
+
"review": "blocked"
|
|
266
|
+
},
|
|
267
|
+
"artifacts": ["understanding.md", "impact-analysis.md"]
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
同时更新 `6aspecdoc/brown/<name>/requirement.md`:
|
|
272
|
+
- 更新"状态"字段为 `📋 Proposal 待开始`
|
|
273
|
+
- 更新"最后修改"时间戳为 `<timestamp>`
|
|
274
|
+
- 更新"当前阶段"为 `Impact - 影响面分析(已完成)`
|
|
275
|
+
- 更新"下一步操作"为 `运行 /6aspec:brown:proposal 继续下一阶段`
|
|
276
|
+
- 在"进度概览"中标记 Impact 阶段为已完成 `[x]`
|
|
277
|
+
|
|
278
|
+
8. **停止并等待用户指令**
|
|
249
279
|
|
|
250
280
|
**输出**
|
|
251
281
|
|
|
252
|
-
|
|
282
|
+
根据 `flowDepth` 显示不同的输出信息:
|
|
283
|
+
|
|
284
|
+
**标准级流程**:
|
|
253
285
|
```
|
|
254
|
-
##
|
|
286
|
+
## Impact 完成:<name>
|
|
255
287
|
|
|
256
|
-
|
|
257
|
-
**进度**: 2/
|
|
288
|
+
**流程**: 标准级
|
|
289
|
+
**进度**: 2/6 阶段完成
|
|
258
290
|
|
|
259
291
|
### 影响范围
|
|
260
292
|
- 数据库表:<数量>
|
|
@@ -267,30 +299,54 @@ Phase 2: 影响面分析与非功能需求评估
|
|
|
267
299
|
### 关键风险
|
|
268
300
|
<列出 2-3 个关键风险>
|
|
269
301
|
|
|
270
|
-
###
|
|
271
|
-
|
|
302
|
+
### 文档位置
|
|
303
|
+
6aspecdoc/brown/<name>/artifacts/impact-analysis.md
|
|
304
|
+
|
|
305
|
+
### 下一步
|
|
306
|
+
- 直接回复补充遗漏的影响点或修正分析 → 我会更新本阶段文档(impact-analysis.md)
|
|
307
|
+
- 运行 `/6aspec:brown:proposal` → 进入需求提案阶段
|
|
308
|
+
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**完整级流程**:
|
|
312
|
+
```
|
|
313
|
+
## Impact 完成:<name>
|
|
314
|
+
|
|
315
|
+
**流程**: 完整级
|
|
316
|
+
**进度**: 2/8 阶段完成
|
|
317
|
+
|
|
318
|
+
### 影响范围
|
|
319
|
+
- 数据库表:<数量>
|
|
320
|
+
- 后端类:<数量>
|
|
321
|
+
- 前端页面:<数量>
|
|
322
|
+
|
|
323
|
+
### 关键发现
|
|
324
|
+
<列出 2-3 个关键发现>
|
|
325
|
+
|
|
326
|
+
### 关键风险
|
|
327
|
+
<列出 2-3 个关键风险>
|
|
272
328
|
|
|
273
329
|
### 文档位置
|
|
274
|
-
6aspecdoc/brown/<name>/artifacts/
|
|
330
|
+
6aspecdoc/brown/<name>/artifacts/impact-analysis.md
|
|
275
331
|
|
|
276
332
|
### 下一步
|
|
277
|
-
- 直接回复补充遗漏的影响点或修正分析 → 我会更新本阶段文档(
|
|
278
|
-
- 运行 `/6aspec:brown:
|
|
333
|
+
- 直接回复补充遗漏的影响点或修正分析 → 我会更新本阶段文档(impact-analysis.md)
|
|
334
|
+
- 运行 `/6aspec:brown:proposal` → 进入需求提案阶段
|
|
279
335
|
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
280
336
|
```
|
|
281
337
|
|
|
282
338
|
**用户补充信息时的处理**
|
|
283
339
|
|
|
284
340
|
当用户指出遗漏的影响点、修正分析结论、或补充业务规则时(未使用阶段命令):
|
|
285
|
-
1. 将用户的补充整合到 `
|
|
341
|
+
1. 将用户的补充整合到 `impact-analysis.md` 的对应章节
|
|
286
342
|
2. 展示变更摘要
|
|
287
343
|
3. 再次提示:可以继续补充,或通过命令进入下一阶段
|
|
288
344
|
4. **禁止**:不得自动进入下一阶段
|
|
289
345
|
|
|
290
346
|
**防护措施**
|
|
291
|
-
-
|
|
292
|
-
-
|
|
347
|
+
- 只适用于标准级和完整级流程
|
|
348
|
+
- 必须先完成specs阶段才能执行impact阶段
|
|
349
|
+
- 所有业务规则答案应该已经在 understanding.md 中收集完成
|
|
293
350
|
- 影响面分析必须全面,不能遗漏间接影响
|
|
294
351
|
- 非功能需求评估必须具体,不能泛泛而谈
|
|
295
352
|
- 函数映射表必须精确到函数级别
|
|
296
|
-
- 工作量预估要基于实际影响范围
|