6aspec 2.0.0-dev.17 → 2.0.0-dev.18
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/brown/brown_continue_sop.md +4 -4
- package/.6aspec/rules/brown/brown_design_sop.md +1 -1
- package/.6aspec/rules/brown/brown_explore_sop.md +314 -0
- package/.6aspec/rules/brown/brown_ff_sop.md +22 -19
- package/.6aspec/rules/brown/brown_impact_sop.md +22 -20
- package/.6aspec/rules/brown/brown_new_sop.md +22 -26
- package/.6aspec/rules/brown/brown_proposal_sop.md +76 -81
- package/.6aspec/rules/brown/brown_rollback_sop.md +12 -12
- package/.6aspec/rules/brown/brown_specs_sop.md +107 -89
- package/.6aspec/rules/brown/brown_status_sop.md +10 -10
- package/.6aspec/rules/brown/brown_tasks_sop.md +14 -2
- package/.6aspec/rules/brown/brown_understand_sop.md +23 -18
- package/.claude/commands/6aspec/brown/explore.md +11 -0
- package/.cursor/commands/6aspec/brown/explore.md +11 -0
- package/package.json +1 -1
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
# 棕地需求 - Proposal SOP
|
|
2
2
|
|
|
3
|
-
创建需求提案
|
|
3
|
+
创建需求提案
|
|
4
4
|
|
|
5
5
|
**适用流程**:轻量级、标准级、完整级
|
|
6
6
|
|
|
7
|
+
**流程定位**:
|
|
8
|
+
- **轻量级**:第一阶段,基于需求描述(如果之前使用了探索模式并生成了 explore-summary.md,也会参考探索发现)
|
|
9
|
+
- **标准级/完整级**:第三阶段,基于 understand 和 impact 的分析结果
|
|
10
|
+
|
|
7
11
|
**输入**:`/6aspec:brown:proposal` 后可选需求名称。
|
|
8
12
|
|
|
9
13
|
**步骤**
|
|
@@ -11,25 +15,29 @@
|
|
|
11
15
|
1. **选择需求并检查状态**
|
|
12
16
|
|
|
13
17
|
- 读取 `6aspecdoc/brown/<name>/status.json`
|
|
14
|
-
-
|
|
18
|
+
- 根据 `flowDepth` 检查前置阶段:
|
|
19
|
+
- **轻量级**:确认 `phases.proposal` 为 "pending"
|
|
20
|
+
- **标准级/完整级**:确认 `phases.impact` 为 "done",如果未完成提示先运行 `/6aspec:brown:impact`
|
|
15
21
|
- 如果proposal已完成,提示使用 `/6aspec:brown:continue` 进入下一阶段
|
|
16
22
|
|
|
17
|
-
2.
|
|
23
|
+
2. **读取前置文档**
|
|
24
|
+
|
|
25
|
+
根据 `flowDepth` 读取不同的前置文档:
|
|
18
26
|
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
27
|
+
**轻量级流程**:
|
|
28
|
+
- `6aspecdoc/brown/<name>/requirement.md` - 原始需求
|
|
29
|
+
- `6aspecdoc/brown/<name>/explore-summary.md` - 探索摘要(如果存在)
|
|
22
30
|
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
31
|
+
**标准级/完整级流程**:
|
|
32
|
+
- `6aspecdoc/brown/<name>/requirement.md` - 原始需求
|
|
33
|
+
- `6aspecdoc/brown/<name>/artifacts/understanding.md` - 现状分析
|
|
34
|
+
- `6aspecdoc/brown/<name>/artifacts/impact-analysis.md` - 影响面分析
|
|
27
35
|
|
|
28
|
-
3.
|
|
36
|
+
3. **创建提案文档(OpenSpec 格式)**
|
|
29
37
|
|
|
30
38
|
创建 `6aspecdoc/brown/<name>/artifacts/proposal.md`:
|
|
31
39
|
```markdown
|
|
32
|
-
#
|
|
40
|
+
# Proposal: <需求标题>
|
|
33
41
|
|
|
34
42
|
> **需求**: <name>
|
|
35
43
|
> **流程**: <flowDepth>
|
|
@@ -37,56 +45,52 @@
|
|
|
37
45
|
> **状态**: ✅ 已完成
|
|
38
46
|
> **创建时间**: <timestamp>
|
|
39
47
|
|
|
40
|
-
##
|
|
41
|
-
|
|
42
|
-
### 业务背景
|
|
43
|
-
<业务背景描述>
|
|
44
|
-
|
|
45
|
-
### 要解决的问题
|
|
46
|
-
<要解决的问题>
|
|
48
|
+
## Why
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
<预期收益>
|
|
50
|
+
<1-2 sentences explaining the problem/opportunity>
|
|
50
51
|
|
|
51
|
-
##
|
|
52
|
+
## What Changes
|
|
52
53
|
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
<Bullet points of what will be different>
|
|
55
|
+
- <变更点1>
|
|
56
|
+
- <变更点2>
|
|
57
|
+
- <变更点3>
|
|
55
58
|
|
|
56
|
-
|
|
57
|
-
- 能力1:<简要描述>
|
|
58
|
-
- 能力2:<简要描述>
|
|
59
|
-
- 能力3:<简要描述>
|
|
59
|
+
## Capabilities
|
|
60
60
|
|
|
61
|
-
###
|
|
62
|
-
|
|
63
|
-
-
|
|
61
|
+
### New Capabilities
|
|
62
|
+
- `<capability-name>`: <brief description>
|
|
63
|
+
- `<capability-name>`: <brief description>
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
### Modified Capabilities
|
|
66
|
+
<!-- If modifying existing behavior -->
|
|
67
|
+
- `<capability-name>`: <brief description>
|
|
67
68
|
|
|
68
|
-
##
|
|
69
|
+
## Impact
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
- 前端代码:<影响描述>
|
|
74
|
-
- API接口:<影响描述>
|
|
71
|
+
**轻量级流程**(基于需求描述或 explore 摘要):
|
|
72
|
+
- `<file-path>`: <what changes>
|
|
73
|
+
- `<file-path>`: <what changes>
|
|
75
74
|
|
|
76
|
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
75
|
+
**标准级/完整级流程**(基于 understanding 和 impact 分析):
|
|
76
|
+
- `<file-path>`: <what changes>(来自 impact-analysis.md)
|
|
77
|
+
- `<file-path>`: <what changes>(来自 impact-analysis.md)
|
|
79
78
|
|
|
80
|
-
|
|
81
|
-
- 技术风险:<风险描述>
|
|
82
|
-
- 业务风险:<风险描述>
|
|
83
|
-
|
|
84
|
-
## 下一步
|
|
79
|
+
## Next Steps
|
|
85
80
|
|
|
86
81
|
- 轻量级流程:运行 `/6aspec:brown:specs` 进行需求规格定义
|
|
87
|
-
- 标准级/完整级流程:运行 `/6aspec:brown:
|
|
82
|
+
- 标准级/完整级流程:运行 `/6aspec:brown:specs` 进行需求规格定义
|
|
88
83
|
```
|
|
89
84
|
|
|
85
|
+
**注意**:
|
|
86
|
+
- Proposal 格式遵循 OpenSpec 规范,保持简洁
|
|
87
|
+
- Why 部分:1-2 句话说明问题或机会
|
|
88
|
+
- What Changes 部分:列出主要变更点
|
|
89
|
+
- Capabilities 部分:列出新增或修改的系统能力(每个 capability 将对应一个 spec 文件)
|
|
90
|
+
- Impact 部分:列出受影响的文件和简要描述
|
|
91
|
+
- 轻量级流程的 Impact 基于需求描述或 explore 摘要(高层次评估)
|
|
92
|
+
- 标准级/完整级流程的 Impact 基于 impact-analysis.md(详细分析的摘要)
|
|
93
|
+
|
|
90
94
|
4. **更新状态**
|
|
91
95
|
|
|
92
96
|
更新 `6aspecdoc/brown/<name>/status.json`:
|
|
@@ -110,38 +114,38 @@
|
|
|
110
114
|
**标准级流程**:
|
|
111
115
|
```json
|
|
112
116
|
{
|
|
113
|
-
"status": "
|
|
117
|
+
"status": "specs_pending",
|
|
114
118
|
"flowDepth": "standard",
|
|
115
119
|
"phases": {
|
|
120
|
+
"understand": "done",
|
|
121
|
+
"impact": "done",
|
|
116
122
|
"proposal": "done",
|
|
117
|
-
"
|
|
118
|
-
"specs": "blocked",
|
|
119
|
-
"impact": "blocked",
|
|
123
|
+
"specs": "pending",
|
|
120
124
|
"design": "blocked",
|
|
121
125
|
"tasks": "blocked",
|
|
122
126
|
"implement": "blocked"
|
|
123
127
|
},
|
|
124
|
-
"artifacts": ["proposal.md"]
|
|
128
|
+
"artifacts": ["understanding.md", "impact-analysis.md", "proposal.md"]
|
|
125
129
|
}
|
|
126
130
|
```
|
|
127
131
|
|
|
128
132
|
**完整级流程**:
|
|
129
133
|
```json
|
|
130
134
|
{
|
|
131
|
-
"status": "
|
|
135
|
+
"status": "specs_pending",
|
|
132
136
|
"flowDepth": "complete",
|
|
133
137
|
"phases": {
|
|
138
|
+
"understand": "done",
|
|
139
|
+
"impact": "done",
|
|
134
140
|
"proposal": "done",
|
|
135
|
-
"
|
|
136
|
-
"specs": "blocked",
|
|
137
|
-
"impact": "blocked",
|
|
141
|
+
"specs": "pending",
|
|
138
142
|
"design": "blocked",
|
|
139
143
|
"tasks": "blocked",
|
|
140
144
|
"implement": "blocked",
|
|
141
145
|
"verify": "blocked",
|
|
142
146
|
"review": "blocked"
|
|
143
147
|
},
|
|
144
|
-
"artifacts": ["proposal.md"]
|
|
148
|
+
"artifacts": ["understanding.md", "impact-analysis.md", "proposal.md"]
|
|
145
149
|
}
|
|
146
150
|
```
|
|
147
151
|
|
|
@@ -156,15 +160,12 @@
|
|
|
156
160
|
## Proposal 完成:<name>
|
|
157
161
|
|
|
158
162
|
**流程**: 轻量级
|
|
159
|
-
**进度**: 1/
|
|
163
|
+
**进度**: 1/4 阶段完成
|
|
160
164
|
|
|
161
165
|
### 提案概要
|
|
162
|
-
-
|
|
163
|
-
-
|
|
164
|
-
-
|
|
165
|
-
|
|
166
|
-
### 关键风险
|
|
167
|
-
<列出关键风险>
|
|
166
|
+
- Why: <简述>
|
|
167
|
+
- What Changes: <数量> 项变更
|
|
168
|
+
- Capabilities: <数量> 个能力
|
|
168
169
|
|
|
169
170
|
### 文档位置
|
|
170
171
|
6aspecdoc/brown/<name>/artifacts/proposal.md
|
|
@@ -180,22 +181,19 @@
|
|
|
180
181
|
## Proposal 完成:<name>
|
|
181
182
|
|
|
182
183
|
**流程**: 标准级
|
|
183
|
-
**进度**:
|
|
184
|
+
**进度**: 3/6 阶段完成
|
|
184
185
|
|
|
185
186
|
### 提案概要
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
|
|
190
|
-
### 关键风险
|
|
191
|
-
<列出关键风险>
|
|
187
|
+
- Why: <简述>
|
|
188
|
+
- What Changes: <数量> 项变更
|
|
189
|
+
- Capabilities: <数量> 个能力
|
|
192
190
|
|
|
193
191
|
### 文档位置
|
|
194
192
|
6aspecdoc/brown/<name>/artifacts/proposal.md
|
|
195
193
|
|
|
196
194
|
### 下一步
|
|
197
195
|
- 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
|
|
198
|
-
- 运行 `/6aspec:brown:
|
|
196
|
+
- 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
|
|
199
197
|
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
200
198
|
```
|
|
201
199
|
|
|
@@ -204,22 +202,19 @@
|
|
|
204
202
|
## Proposal 完成:<name>
|
|
205
203
|
|
|
206
204
|
**流程**: 完整级
|
|
207
|
-
**进度**:
|
|
205
|
+
**进度**: 3/8 阶段完成
|
|
208
206
|
|
|
209
207
|
### 提案概要
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
-
|
|
213
|
-
|
|
214
|
-
### 关键风险
|
|
215
|
-
<列出关键风险>
|
|
208
|
+
- Why: <简述>
|
|
209
|
+
- What Changes: <数量> 项变更
|
|
210
|
+
- Capabilities: <数量> 个能力
|
|
216
211
|
|
|
217
212
|
### 文档位置
|
|
218
213
|
6aspecdoc/brown/<name>/artifacts/proposal.md
|
|
219
214
|
|
|
220
215
|
### 下一步
|
|
221
216
|
- 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
|
|
222
|
-
- 运行 `/6aspec:brown:
|
|
217
|
+
- 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
|
|
223
218
|
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
224
219
|
```
|
|
225
220
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
**限制**:
|
|
13
13
|
- 只能一级一级往上退,不允许跨节点
|
|
14
14
|
- 只能回退已完成的阶段(状态为 "done")
|
|
15
|
-
-
|
|
15
|
+
- 不能回退第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand)
|
|
16
16
|
- 不能从实施阶段回退(implement、verify、review),因为代码已修改,回退文档会导致文档和代码不一致
|
|
17
17
|
- 只允许在分析阶段回退(proposal、understand、specs、impact、design、tasks)
|
|
18
18
|
- 已归档的需求不能回退
|
|
@@ -43,25 +43,25 @@
|
|
|
43
43
|
- ~~implement → tasks~~(禁止:代码已修改)
|
|
44
44
|
|
|
45
45
|
**标准级流程(standard)**:
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
- design →
|
|
46
|
+
- impact → understand
|
|
47
|
+
- proposal → impact
|
|
48
|
+
- specs → proposal
|
|
49
|
+
- design → specs
|
|
50
50
|
- tasks → design
|
|
51
51
|
- ~~implement → tasks~~(禁止:代码已修改)
|
|
52
52
|
|
|
53
53
|
**完整级流程(complete)**:
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
- design →
|
|
54
|
+
- impact → understand
|
|
55
|
+
- proposal → impact
|
|
56
|
+
- specs → proposal
|
|
57
|
+
- design → specs
|
|
58
58
|
- tasks → design
|
|
59
59
|
- ~~implement → tasks~~(禁止:代码已修改)
|
|
60
60
|
- ~~verify → implement~~(禁止:代码已修改)
|
|
61
61
|
- ~~review → verify~~(禁止:代码已修改)
|
|
62
62
|
|
|
63
63
|
**边界情况**:
|
|
64
|
-
-
|
|
64
|
+
- 如果当前在第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand),提示无法回退
|
|
65
65
|
- 如果当前在实施阶段(implement、verify、review),提示无法回退(代码已修改)
|
|
66
66
|
- 如果所有阶段都是 pending,提示没有可回退的阶段
|
|
67
67
|
|
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
**防护措施**
|
|
182
182
|
- 必须确认需求未归档
|
|
183
183
|
- 必须确认当前阶段已完成(状态为 "done")
|
|
184
|
-
-
|
|
184
|
+
- 不能回退第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand)
|
|
185
185
|
- 不能从实施阶段回退(implement、verify、review)
|
|
186
186
|
- 只允许在分析阶段回退(proposal、understand、specs、impact、design、tasks)
|
|
187
187
|
- 必须用户确认后才能执行回退
|
|
@@ -192,7 +192,7 @@
|
|
|
192
192
|
|
|
193
193
|
- 如果需求不存在,提示创建新需求
|
|
194
194
|
- 如果需求已归档,提示先取消归档
|
|
195
|
-
-
|
|
195
|
+
- 如果当前在第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand),提示无法回退
|
|
196
196
|
- 如果当前在实施阶段(implement、verify、review),提示无法回退,原因:代码已修改,回退文档会导致文档和代码不一致
|
|
197
197
|
- 如果所有阶段都是 pending,提示没有可回退的阶段
|
|
198
198
|
- 如果文件删除失败,提示错误信息但继续更新状态
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
- 读取 `6aspecdoc/brown/<name>/status.json`
|
|
14
14
|
- 根据 `flowDepth` 检查前置阶段:
|
|
15
15
|
- **轻量级**:确认 `phases.proposal` 为 "done",如果未完成提示先运行 `/6aspec:brown:proposal`
|
|
16
|
-
- **标准级/完整级**:确认 `phases.
|
|
16
|
+
- **标准级/完整级**:确认 `phases.impact` 为 "done",如果未完成提示先运行 `/6aspec:brown:impact`
|
|
17
17
|
|
|
18
18
|
2. **读取前置文档**
|
|
19
19
|
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
- `6aspecdoc/brown/<name>/requirement.md`
|
|
28
28
|
- `6aspecdoc/brown/<name>/artifacts/proposal.md`
|
|
29
29
|
- `6aspecdoc/brown/<name>/artifacts/understanding.md`
|
|
30
|
+
- `6aspecdoc/brown/<name>/artifacts/impact-analysis.md`
|
|
30
31
|
|
|
31
32
|
3. **读取问题答案(仅标准级/完整级)**
|
|
32
33
|
|
|
@@ -40,17 +41,30 @@
|
|
|
40
41
|
|
|
41
42
|
4. **定义功能需求**
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
基于需求理解和问题答案,使用 Requirement + Scenario 格式明确定义系统应该具备的能力:
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
**功能需求格式**(借鉴 OpenSpec 的 WHEN/THEN 格式):
|
|
47
|
+
```markdown
|
|
48
|
+
### Requirement: <需求名称>
|
|
49
|
+
|
|
50
|
+
<需求描述,使用 SHALL/MUST 关键字表示强制性要求>
|
|
51
|
+
|
|
52
|
+
#### Scenario: <场景名称>
|
|
53
|
+
|
|
54
|
+
- **WHEN** <触发条件>
|
|
55
|
+
- **THEN** <预期结果>
|
|
56
|
+
- **AND** <额外的预期结果>(可选)
|
|
57
|
+
|
|
58
|
+
#### Scenario: <另一个场景名称>
|
|
59
|
+
|
|
60
|
+
- **WHEN** <触发条件>
|
|
61
|
+
- **THEN** <预期结果>
|
|
62
|
+
```
|
|
51
63
|
|
|
52
64
|
**拆解原则**:
|
|
53
|
-
-
|
|
65
|
+
- 每个 Requirement 应该是独立的、可验证的
|
|
66
|
+
- 每个 Scenario 使用 WHEN/THEN 格式,天然可测试
|
|
67
|
+
- 使用 SHALL/MUST 关键字表示强制性要求,SHOULD 表示推荐性要求
|
|
54
68
|
- 功能需求应该从用户视角描述(做什么,而不是怎么做)
|
|
55
69
|
- 避免技术实现细节(技术细节放在 design 阶段)
|
|
56
70
|
|
|
@@ -58,10 +72,26 @@
|
|
|
58
72
|
|
|
59
73
|
明确系统应该满足的质量标准:
|
|
60
74
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
-
|
|
75
|
+
**非功能需求格式**:
|
|
76
|
+
```markdown
|
|
77
|
+
### 性能需求
|
|
78
|
+
- 响应时间 SHALL < 200ms
|
|
79
|
+
- 并发量 SHALL 支持 1000+ QPS
|
|
80
|
+
|
|
81
|
+
### 安全需求
|
|
82
|
+
- 权限控制:只有管理员 SHALL 可以修改
|
|
83
|
+
- 数据加密:敏感数据 SHALL 加密存储
|
|
84
|
+
|
|
85
|
+
### 可用性需求
|
|
86
|
+
- 易用性:界面 SHOULD 符合团队 UI 规范
|
|
87
|
+
- 可维护性:代码 SHOULD 遵循现有架构模式
|
|
88
|
+
|
|
89
|
+
### 兼容性需求
|
|
90
|
+
- 浏览器:SHALL 支持 Chrome/Firefox/Safari 最新版本
|
|
91
|
+
- 数据库:SHALL 兼容现有数据库版本
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
注意:使用 SHALL/MUST 表示强制性要求,SHOULD 表示推荐性要求
|
|
65
95
|
|
|
66
96
|
6. **定义范围和约束**
|
|
67
97
|
|
|
@@ -76,15 +106,9 @@
|
|
|
76
106
|
- 业务约束:<业务上的限制>
|
|
77
107
|
- 时间约束:<时间上的限制>
|
|
78
108
|
|
|
79
|
-
7.
|
|
80
|
-
|
|
81
|
-
明确如何验证需求已经实现:
|
|
82
|
-
|
|
83
|
-
- AC-001: <功能验收标准>
|
|
84
|
-
- AC-002: <非功能验收标准>
|
|
85
|
-
- AC-003: <数据验收标准>
|
|
109
|
+
7. **创建需求规格文档**
|
|
86
110
|
|
|
87
|
-
|
|
111
|
+
注意:使用 WHEN/THEN 格式定义的 Scenario 本身就是验证标准,无需单独定义验收标准。
|
|
88
112
|
|
|
89
113
|
创建 `6aspecdoc/brown/<name>/artifacts/specs.md`:
|
|
90
114
|
```markdown
|
|
@@ -101,10 +125,7 @@
|
|
|
101
125
|
### 1.1 业务目标
|
|
102
126
|
<为什么需要这个功能>
|
|
103
127
|
|
|
104
|
-
### 1.2
|
|
105
|
-
<谁用、什么时候用、怎么用>
|
|
106
|
-
|
|
107
|
-
### 1.3 范围定义
|
|
128
|
+
### 1.2 范围定义
|
|
108
129
|
**包含**:
|
|
109
130
|
- <明确包含的功能>
|
|
110
131
|
|
|
@@ -113,65 +134,60 @@
|
|
|
113
134
|
|
|
114
135
|
## 2. 功能需求
|
|
115
136
|
|
|
116
|
-
###
|
|
117
|
-
|
|
137
|
+
### Requirement: <需求名称>
|
|
138
|
+
|
|
139
|
+
<需求描述,使用 SHALL/MUST 关键字表示强制性要求>
|
|
140
|
+
|
|
141
|
+
#### Scenario: <场景名称>
|
|
142
|
+
|
|
143
|
+
- **WHEN** <触发条件>
|
|
144
|
+
- **THEN** <预期结果>
|
|
145
|
+
- **AND** <额外的预期结果>(可选)
|
|
118
146
|
|
|
119
|
-
|
|
120
|
-
- <输入内容>
|
|
147
|
+
#### Scenario: <另一个场景名称>
|
|
121
148
|
|
|
122
|
-
|
|
123
|
-
-
|
|
149
|
+
- **WHEN** <触发条件>
|
|
150
|
+
- **THEN** <预期结果>
|
|
124
151
|
|
|
125
|
-
|
|
126
|
-
- <业务规则1>
|
|
127
|
-
- <业务规则2>
|
|
152
|
+
### Requirement: <另一个需求名称>
|
|
128
153
|
|
|
129
|
-
|
|
130
|
-
- <验收标准1>
|
|
131
|
-
- <验收标准2>
|
|
154
|
+
<需求描述>
|
|
132
155
|
|
|
133
|
-
|
|
134
|
-
|
|
156
|
+
#### Scenario: <场景名称>
|
|
157
|
+
|
|
158
|
+
- **WHEN** <触发条件>
|
|
159
|
+
- **THEN** <预期结果>
|
|
135
160
|
|
|
136
161
|
## 3. 非功能需求
|
|
137
162
|
|
|
138
|
-
###
|
|
139
|
-
-
|
|
163
|
+
### 性能需求
|
|
164
|
+
- 响应时间 SHALL < <具体值>
|
|
165
|
+
- 并发量 SHALL 支持 <具体值>
|
|
140
166
|
|
|
141
|
-
###
|
|
142
|
-
-
|
|
167
|
+
### 安全需求
|
|
168
|
+
- 权限控制:<具体要求>
|
|
169
|
+
- 数据加密:<具体要求>
|
|
143
170
|
|
|
144
|
-
###
|
|
145
|
-
-
|
|
171
|
+
### 可用性需求
|
|
172
|
+
- 易用性:<具体要求>
|
|
173
|
+
- 可维护性:<具体要求>
|
|
146
174
|
|
|
147
|
-
###
|
|
148
|
-
-
|
|
175
|
+
### 兼容性需求
|
|
176
|
+
- 浏览器:SHALL 支持 <具体版本>
|
|
177
|
+
- 数据库:SHALL 兼容 <具体版本>
|
|
149
178
|
|
|
150
179
|
## 4. 约束条件
|
|
151
180
|
|
|
152
|
-
###
|
|
181
|
+
### 技术约束
|
|
153
182
|
- <技术上的限制>
|
|
154
183
|
|
|
155
|
-
###
|
|
184
|
+
### 业务约束
|
|
156
185
|
- <业务上的限制>
|
|
157
186
|
|
|
158
|
-
###
|
|
187
|
+
### 时间约束
|
|
159
188
|
- <时间上的限制>
|
|
160
189
|
|
|
161
|
-
## 5.
|
|
162
|
-
|
|
163
|
-
### 5.1 功能验收
|
|
164
|
-
- AC-001: <功能验收标准>
|
|
165
|
-
- AC-002: <功能验收标准>
|
|
166
|
-
|
|
167
|
-
### 5.2 非功能验收
|
|
168
|
-
- AC-003: <非功能验收标准>
|
|
169
|
-
- AC-004: <非功能验收标准>
|
|
170
|
-
|
|
171
|
-
### 5.3 数据验收
|
|
172
|
-
- AC-005: <数据验收标准>
|
|
173
|
-
|
|
174
|
-
## 6. 下一步
|
|
190
|
+
## 5. 下一步
|
|
175
191
|
|
|
176
192
|
- 轻量级流程:运行 `/6aspec:brown:design` 进行技术方案设计
|
|
177
193
|
- 标准级/完整级流程:运行 `/6aspec:brown:impact` 进行影响面分析
|
|
@@ -200,38 +216,38 @@
|
|
|
200
216
|
**标准级流程**:
|
|
201
217
|
```json
|
|
202
218
|
{
|
|
203
|
-
"status": "
|
|
219
|
+
"status": "design_pending",
|
|
204
220
|
"flowDepth": "standard",
|
|
205
221
|
"phases": {
|
|
206
222
|
"proposal": "done",
|
|
207
223
|
"understand": "done",
|
|
224
|
+
"impact": "done",
|
|
208
225
|
"specs": "done",
|
|
209
|
-
"
|
|
210
|
-
"design": "blocked",
|
|
226
|
+
"design": "pending",
|
|
211
227
|
"tasks": "blocked",
|
|
212
228
|
"implement": "blocked"
|
|
213
229
|
},
|
|
214
|
-
"artifacts": ["proposal.md", "understanding.md", "specs.md"]
|
|
230
|
+
"artifacts": ["proposal.md", "understanding.md", "impact-analysis.md", "specs.md"]
|
|
215
231
|
}
|
|
216
232
|
```
|
|
217
233
|
|
|
218
234
|
**完整级流程**:
|
|
219
235
|
```json
|
|
220
236
|
{
|
|
221
|
-
"status": "
|
|
237
|
+
"status": "design_pending",
|
|
222
238
|
"flowDepth": "complete",
|
|
223
239
|
"phases": {
|
|
224
240
|
"proposal": "done",
|
|
225
241
|
"understand": "done",
|
|
242
|
+
"impact": "done",
|
|
226
243
|
"specs": "done",
|
|
227
|
-
"
|
|
228
|
-
"design": "blocked",
|
|
244
|
+
"design": "pending",
|
|
229
245
|
"tasks": "blocked",
|
|
230
246
|
"implement": "blocked",
|
|
231
247
|
"verify": "blocked",
|
|
232
248
|
"review": "blocked"
|
|
233
249
|
},
|
|
234
|
-
"artifacts": ["proposal.md", "understanding.md", "specs.md"]
|
|
250
|
+
"artifacts": ["proposal.md", "understanding.md", "impact-analysis.md", "specs.md"]
|
|
235
251
|
}
|
|
236
252
|
```
|
|
237
253
|
|
|
@@ -247,12 +263,12 @@
|
|
|
247
263
|
**进度**: 2/5 阶段完成
|
|
248
264
|
|
|
249
265
|
### 需求概要
|
|
250
|
-
- 功能需求:<数量> 个
|
|
251
|
-
-
|
|
252
|
-
-
|
|
266
|
+
- 功能需求:<数量> 个 Requirement
|
|
267
|
+
- 测试场景:<数量> 个 Scenario
|
|
268
|
+
- 非功能需求:<数量> 项
|
|
253
269
|
|
|
254
270
|
### 核心功能
|
|
255
|
-
<列出 2-3
|
|
271
|
+
<列出 2-3 个核心 Requirement>
|
|
256
272
|
|
|
257
273
|
### 关键约束
|
|
258
274
|
<列出 1-2 个关键约束>
|
|
@@ -271,15 +287,15 @@
|
|
|
271
287
|
## Specs 完成:<name>
|
|
272
288
|
|
|
273
289
|
**流程**: 标准级
|
|
274
|
-
**进度**:
|
|
290
|
+
**进度**: 4/6 阶段完成
|
|
275
291
|
|
|
276
292
|
### 需求概要
|
|
277
|
-
- 功能需求:<数量> 个
|
|
278
|
-
-
|
|
279
|
-
-
|
|
293
|
+
- 功能需求:<数量> 个 Requirement
|
|
294
|
+
- 测试场景:<数量> 个 Scenario
|
|
295
|
+
- 非功能需求:<数量> 项
|
|
280
296
|
|
|
281
297
|
### 核心功能
|
|
282
|
-
<列出 2-3
|
|
298
|
+
<列出 2-3 个核心 Requirement>
|
|
283
299
|
|
|
284
300
|
### 关键约束
|
|
285
301
|
<列出 1-2 个关键约束>
|
|
@@ -289,7 +305,7 @@
|
|
|
289
305
|
|
|
290
306
|
### 下一步
|
|
291
307
|
- 直接回复补充或修正需求规格 → 我会更新本阶段文档(specs.md)
|
|
292
|
-
- 运行 `/6aspec:brown:
|
|
308
|
+
- 运行 `/6aspec:brown:design` → 进入技术方案设计阶段
|
|
293
309
|
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
294
310
|
```
|
|
295
311
|
|
|
@@ -298,15 +314,15 @@
|
|
|
298
314
|
## Specs 完成:<name>
|
|
299
315
|
|
|
300
316
|
**流程**: 完整级
|
|
301
|
-
**进度**:
|
|
317
|
+
**进度**: 4/8 阶段完成
|
|
302
318
|
|
|
303
319
|
### 需求概要
|
|
304
|
-
- 功能需求:<数量> 个
|
|
305
|
-
-
|
|
306
|
-
-
|
|
320
|
+
- 功能需求:<数量> 个 Requirement
|
|
321
|
+
- 测试场景:<数量> 个 Scenario
|
|
322
|
+
- 非功能需求:<数量> 项
|
|
307
323
|
|
|
308
324
|
### 核心功能
|
|
309
|
-
<列出 2-3
|
|
325
|
+
<列出 2-3 个核心 Requirement>
|
|
310
326
|
|
|
311
327
|
### 关键约束
|
|
312
328
|
<列出 1-2 个关键约束>
|
|
@@ -316,7 +332,7 @@
|
|
|
316
332
|
|
|
317
333
|
### 下一步
|
|
318
334
|
- 直接回复补充或修正需求规格 → 我会更新本阶段文档(specs.md)
|
|
319
|
-
- 运行 `/6aspec:brown:
|
|
335
|
+
- 运行 `/6aspec:brown:design` → 进入技术方案设计阶段
|
|
320
336
|
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
321
337
|
```
|
|
322
338
|
|
|
@@ -333,7 +349,9 @@
|
|
|
333
349
|
- 根据flowDepth检查不同的前置阶段:
|
|
334
350
|
- 轻量级:必须先完成proposal阶段
|
|
335
351
|
- 标准级/完整级:必须先完成understand阶段
|
|
352
|
+
- 功能需求必须使用 Requirement + Scenario (WHEN/THEN) 格式
|
|
353
|
+
- 使用 SHALL/MUST 表示强制性要求,SHOULD 表示推荐性要求
|
|
354
|
+
- 每个 Scenario 必须可测试、可验证
|
|
336
355
|
- 功能需求必须从用户视角描述,避免技术实现细节
|
|
337
|
-
- 验收标准必须具体、可验证
|
|
338
356
|
- 需求问题的答案应该体现在功能需求定义中,而不是单独列出
|
|
339
357
|
- specs的详细程度保持一致,不区分流程深度
|