6aspec 2.0.0-dev.2 → 2.0.0-dev.22
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_archive_sop.md +8 -8
- package/.6aspec/rules/brown/brown_constitution.md +11 -0
- package/.6aspec/rules/brown/brown_continue_sop.md +5 -2
- package/.6aspec/rules/brown/brown_design_sop.md +168 -28
- 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 +3 -3
- package/.6aspec/rules/brown/brown_list_sop.md +12 -12
- package/.6aspec/rules/brown/brown_new_sop.md +58 -34
- package/.6aspec/rules/brown/brown_proposal_sop.md +293 -75
- 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 +370 -120
- package/.6aspec/rules/brown/brown_status_sop.md +13 -3
- package/.6aspec/rules/brown/brown_tasks_sop.md +18 -5
- package/.6aspec/rules/brown/brown_understand_sop.md +111 -40
- package/.6aspec/rules/brown/brown_verify_sop.md +1 -1
- 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} +3 -3
- package/.6aspec/rules/green/{6A_continue_sop.md → green_continue_sop.md} +3 -3
- 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/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/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 +178 -45
- 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_new_sop.md → green_new_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,8 +1,12 @@
|
|
|
1
1
|
# 棕地需求 - Proposal SOP
|
|
2
2
|
|
|
3
|
-
创建需求提案
|
|
3
|
+
创建需求提案
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**适用流程**:轻量级、标准级、完整级
|
|
6
|
+
|
|
7
|
+
**流程定位**:
|
|
8
|
+
- **轻量级**:第一阶段,基于需求描述(如果之前使用了探索模式并生成了 explore-summary.md,也会参考探索发现)
|
|
9
|
+
- **标准级/完整级**:第三阶段,基于 understand 和 impact 的分析结果
|
|
6
10
|
|
|
7
11
|
**输入**:`/6aspec:brown:proposal` 后可选需求名称。
|
|
8
12
|
|
|
@@ -11,106 +15,190 @@
|
|
|
11
15
|
1. **选择需求并检查状态**
|
|
12
16
|
|
|
13
17
|
- 读取 `6aspecdoc/brown/<name>/status.json`
|
|
14
|
-
-
|
|
15
|
-
|
|
18
|
+
- 根据 `flowDepth` 检查前置阶段:
|
|
19
|
+
- **轻量级**:确认 `phases.proposal` 为 "pending"
|
|
20
|
+
- **标准级/完整级**:确认 `phases.impact` 为 "done",如果未完成提示先运行 `/6aspec:brown:impact`
|
|
21
|
+
- 如果proposal已完成,提示使用 `/6aspec:brown:continue` 进入下一阶段
|
|
16
22
|
|
|
17
|
-
2.
|
|
23
|
+
2. **读取前置文档**
|
|
18
24
|
|
|
19
|
-
|
|
20
|
-
- 如果 `inputSource.type = "text"`:直接使用其中记录的需求描述。
|
|
21
|
-
- 如果 `inputSource.type = "file"`:读取记录的来源文件路径,获取完整需求内容。
|
|
25
|
+
根据 `flowDepth` 读取不同的前置文档:
|
|
22
26
|
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
- 预期影响是什么?(Impact)
|
|
27
|
+
**轻量级流程**:
|
|
28
|
+
- `6aspecdoc/brown/<name>/artifacts/original-requirement.md` - 原始需求
|
|
29
|
+
- `6aspecdoc/brown/<name>/explore-summary.md` - 探索摘要(如果存在)
|
|
27
30
|
|
|
28
|
-
|
|
31
|
+
**标准级/完整级流程**:
|
|
32
|
+
- `6aspecdoc/brown/<name>/artifacts/original-requirement.md` - 原始需求
|
|
33
|
+
- `6aspecdoc/brown/<name>/artifacts/understanding.md` - 现状分析
|
|
34
|
+
- `6aspecdoc/brown/<name>/artifacts/impact-analysis.md` - 影响面分析
|
|
29
35
|
|
|
30
|
-
|
|
31
|
-
```markdown
|
|
32
|
-
# 需求提案:<需求标题>
|
|
36
|
+
3. **执行轻量级探索并识别待明确问题**(仅轻量级流程)
|
|
33
37
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
**触发条件**:`flowDepth` 为 "lightweight" **且满足以下任一条件**:
|
|
39
|
+
- 不存在 `explore-summary.md` **且** 对话上下文中没有探索内容
|
|
40
|
+
- 用户明确要求探索(例如:"先了解一下现有实现"、"需要探索代码库")
|
|
41
|
+
|
|
42
|
+
**上下文识别**:
|
|
43
|
+
|
|
44
|
+
在执行探索前,先检查是否已有探索内容:
|
|
45
|
+
|
|
46
|
+
a. **检查explore-summary.md**:
|
|
47
|
+
- 如果存在 `6aspecdoc/brown/<name>/explore-summary.md`,读取它
|
|
48
|
+
- 除非用户明确要求重新探索,否则使用已有的探索摘要
|
|
49
|
+
|
|
50
|
+
b. **检查对话上下文**:
|
|
51
|
+
- 检查对话历史中是否包含探索内容(用户之前执行了 `/6aspec:brown:explore` 命令)
|
|
52
|
+
- 即使没有生成explore-summary.md文件,探索内容仍在对话上下文中
|
|
53
|
+
- 如果发现对话上下文中有探索内容,可以直接利用这些信息,不需要重新探索
|
|
54
|
+
|
|
55
|
+
c. **判断是否需要执行新的探索**:
|
|
56
|
+
- 如果既没有explore-summary.md,也没有对话上下文中的探索内容 → 执行轻量级探索
|
|
57
|
+
- 如果用户明确要求探索(即使已有探索内容) → 执行轻量级探索
|
|
58
|
+
- 如果已有探索内容(explore-summary.md或对话上下文)且用户未明确要求 → 跳过探索,直接使用已有内容
|
|
59
|
+
|
|
60
|
+
**步骤**:
|
|
61
|
+
|
|
62
|
+
a. **执行轻量级探索**(如果需要)
|
|
63
|
+
|
|
64
|
+
从需求描述中提取关键词(实体名、功能名、业务术语),然后执行快速搜索:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# 搜索相关实体类
|
|
68
|
+
rg "class.*<关键词>.*Entity" --type java -g "*Entity.java"
|
|
69
|
+
|
|
70
|
+
# 搜索相关服务类
|
|
71
|
+
rg "class.*<关键词>.*Service" --type java -g "*Service.java"
|
|
72
|
+
|
|
73
|
+
# 搜索相关Controller类
|
|
74
|
+
rg "class.*<关键词>.*Controller" --type java -g "*Controller.java"
|
|
75
|
+
|
|
76
|
+
# 搜索关键业务逻辑
|
|
77
|
+
rg "<关键方法名>" --type java -C 3
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
识别受影响的核心文件(3-5个),快速阅读关键代码片段。
|
|
81
|
+
|
|
82
|
+
b. **识别待明确问题**
|
|
83
|
+
|
|
84
|
+
基于探索结果(explore-summary.md、对话上下文中的探索内容、或刚刚执行的轻量级探索)和需求描述,识别不清楚的地方,生成待明确问题清单:
|
|
85
|
+
|
|
86
|
+
**问题类型**:
|
|
87
|
+
- 字段设计问题(名称、类型、必填、默认值、值域)
|
|
88
|
+
- 业务规则问题(是否可修改、是否继承、是否同步)
|
|
89
|
+
- 权限和统计问题(权限控制、统计报表)
|
|
90
|
+
- 集成和兼容问题(与其他模块的集成、数据迁移)
|
|
91
|
+
|
|
92
|
+
**问题数量**:2-5个最重要的问题(保持轻量)
|
|
93
|
+
|
|
94
|
+
c. **询问用户**
|
|
39
95
|
|
|
40
|
-
|
|
96
|
+
如果有待明确问题,展示问题清单并等待用户回答:
|
|
41
97
|
|
|
42
|
-
|
|
43
|
-
|
|
98
|
+
```
|
|
99
|
+
## 需要明确的问题
|
|
100
|
+
|
|
101
|
+
基于代码库探索,发现以下问题需要明确:
|
|
44
102
|
|
|
45
|
-
###
|
|
46
|
-
|
|
103
|
+
### 字段设计
|
|
104
|
+
1. <问题1>
|
|
105
|
+
2. <问题2>
|
|
47
106
|
|
|
48
|
-
###
|
|
49
|
-
|
|
107
|
+
### 业务规则
|
|
108
|
+
3. <问题3>
|
|
109
|
+
4. <问题4>
|
|
110
|
+
|
|
111
|
+
请回答上述问题,我会基于你的回答生成proposal。
|
|
112
|
+
```
|
|
50
113
|
|
|
51
|
-
|
|
114
|
+
**等待用户回答**,不要自动进入下一步。
|
|
52
115
|
|
|
53
|
-
|
|
54
|
-
<功能概述>
|
|
116
|
+
d. **处理用户回答**
|
|
55
117
|
|
|
56
|
-
|
|
118
|
+
当用户回答问题后:
|
|
119
|
+
- 记录用户的回答(用于proposal生成)
|
|
120
|
+
- 继续执行步骤4(创建提案文档)
|
|
57
121
|
|
|
58
|
-
|
|
59
|
-
|
|
122
|
+
**注意**:
|
|
123
|
+
- 探索结果和用户回答不生成独立文档,直接用于proposal生成
|
|
124
|
+
- 如果没有待明确问题,直接跳过询问步骤,继续生成proposal
|
|
125
|
+
- 优先使用explore-summary.md(如果存在且用户未明确要求重新探索)
|
|
126
|
+
- 其次利用对话上下文中的探索内容(如果用户之前执行了explore命令)
|
|
127
|
+
- 最后才执行新的轻量级探索(如果既没有explore-summary.md也没有对话上下文中的探索内容)
|
|
128
|
+
- 即使已有探索内容,如果用户明确要求探索,也应该执行新的探索
|
|
129
|
+
|
|
130
|
+
4. **创建提案文档(OpenSpec 格式)**
|
|
131
|
+
|
|
132
|
+
创建 `6aspecdoc/brown/<name>/artifacts/proposal.md`:
|
|
133
|
+
```markdown
|
|
134
|
+
# Proposal: <需求标题>
|
|
135
|
+
|
|
136
|
+
> **需求**: <name>
|
|
137
|
+
> **流程**: <flowDepth>
|
|
138
|
+
> **阶段**: Proposal
|
|
139
|
+
> **状态**: ✅ 已完成
|
|
140
|
+
> **创建时间**: <timestamp>
|
|
60
141
|
|
|
61
|
-
|
|
62
|
-
- <验收标准1>
|
|
63
|
-
- <验收标准2>
|
|
142
|
+
## Why
|
|
64
143
|
|
|
65
|
-
|
|
66
|
-
**描述**:<功能描述>
|
|
144
|
+
<1-2 sentences explaining the problem/opportunity>
|
|
67
145
|
|
|
68
|
-
|
|
69
|
-
- <验收标准1>
|
|
70
|
-
- <验收标准2>
|
|
146
|
+
## What Changes
|
|
71
147
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
-
|
|
148
|
+
<Bullet points of what will be different>
|
|
149
|
+
- <变更点1>
|
|
150
|
+
- <变更点2>
|
|
151
|
+
- <变更点3>
|
|
75
152
|
|
|
76
|
-
|
|
77
|
-
- <不包含的内容>
|
|
153
|
+
## Capabilities
|
|
78
154
|
|
|
79
|
-
###
|
|
80
|
-
-
|
|
81
|
-
-
|
|
155
|
+
### New Capabilities
|
|
156
|
+
- `<capability-name>`: <brief description>
|
|
157
|
+
- `<capability-name>`: <brief description>
|
|
82
158
|
|
|
83
|
-
|
|
159
|
+
### Modified Capabilities
|
|
160
|
+
<!-- If modifying existing behavior -->
|
|
161
|
+
- `<capability-name>`: <brief description>
|
|
84
162
|
|
|
85
|
-
|
|
86
|
-
- 数据库:<影响描述>
|
|
87
|
-
- 后端代码:<影响描述>
|
|
88
|
-
- 前端代码:<影响描述>
|
|
89
|
-
- API接口:<影响描述>
|
|
163
|
+
## Impact
|
|
90
164
|
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
165
|
+
**轻量级流程**(基于需求描述或 explore 摘要):
|
|
166
|
+
- `<file-path>`: <what changes>
|
|
167
|
+
- `<file-path>`: <what changes>
|
|
94
168
|
|
|
95
|
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
169
|
+
**标准级/完整级流程**(基于 understanding 和 impact 分析):
|
|
170
|
+
- `<file-path>`: <what changes>(来自 impact-analysis.md)
|
|
171
|
+
- `<file-path>`: <what changes>(来自 impact-analysis.md)
|
|
98
172
|
|
|
99
|
-
##
|
|
173
|
+
## Next Steps
|
|
100
174
|
|
|
101
|
-
|
|
175
|
+
- 轻量级流程:运行 `/6aspec:brown:specs` 进行需求规格定义
|
|
176
|
+
- 标准级/完整级流程:运行 `/6aspec:brown:specs` 进行需求规格定义
|
|
102
177
|
```
|
|
103
178
|
|
|
104
|
-
|
|
179
|
+
**注意**:
|
|
180
|
+
- Proposal 格式遵循 OpenSpec 规范,保持简洁
|
|
181
|
+
- Why 部分:1-2 句话说明问题或机会
|
|
182
|
+
- What Changes 部分:列出主要变更点
|
|
183
|
+
- Capabilities 部分:列出新增或修改的系统能力(每个 capability 将对应一个 spec 文件)
|
|
184
|
+
- Impact 部分:列出受影响的文件和简要描述
|
|
185
|
+
- 轻量级流程的 Impact 基于需求描述、explore 摘要或轻量级探索结果(高层次评估)
|
|
186
|
+
- 标准级/完整级流程的 Impact 基于 impact-analysis.md(详细分析的摘要)
|
|
187
|
+
- 如果轻量级流程在步骤3中询问了用户问题,基于用户的回答生成proposal
|
|
188
|
+
|
|
189
|
+
5. **更新状态**
|
|
105
190
|
|
|
106
191
|
更新 `6aspecdoc/brown/<name>/status.json`:
|
|
192
|
+
|
|
193
|
+
**轻量级流程**:
|
|
107
194
|
```json
|
|
108
195
|
{
|
|
109
|
-
"status": "
|
|
196
|
+
"status": "specs_pending",
|
|
110
197
|
"flowDepth": "lightweight",
|
|
111
198
|
"phases": {
|
|
112
199
|
"proposal": "done",
|
|
113
|
-
"
|
|
200
|
+
"specs": "pending",
|
|
201
|
+
"design": "blocked",
|
|
114
202
|
"tasks": "blocked",
|
|
115
203
|
"implement": "blocked"
|
|
116
204
|
},
|
|
@@ -118,10 +206,89 @@
|
|
|
118
206
|
}
|
|
119
207
|
```
|
|
120
208
|
|
|
121
|
-
|
|
209
|
+
**标准级流程**:
|
|
210
|
+
```json
|
|
211
|
+
{
|
|
212
|
+
"status": "specs_pending",
|
|
213
|
+
"flowDepth": "standard",
|
|
214
|
+
"phases": {
|
|
215
|
+
"understand": "done",
|
|
216
|
+
"impact": "done",
|
|
217
|
+
"proposal": "done",
|
|
218
|
+
"specs": "pending",
|
|
219
|
+
"design": "blocked",
|
|
220
|
+
"tasks": "blocked",
|
|
221
|
+
"implement": "blocked"
|
|
222
|
+
},
|
|
223
|
+
"artifacts": ["understanding.md", "impact-analysis.md", "proposal.md"]
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**完整级流程**:
|
|
228
|
+
```json
|
|
229
|
+
{
|
|
230
|
+
"status": "specs_pending",
|
|
231
|
+
"flowDepth": "complete",
|
|
232
|
+
"phases": {
|
|
233
|
+
"understand": "done",
|
|
234
|
+
"impact": "done",
|
|
235
|
+
"proposal": "done",
|
|
236
|
+
"specs": "pending",
|
|
237
|
+
"design": "blocked",
|
|
238
|
+
"tasks": "blocked",
|
|
239
|
+
"implement": "blocked",
|
|
240
|
+
"verify": "blocked",
|
|
241
|
+
"review": "blocked"
|
|
242
|
+
},
|
|
243
|
+
"artifacts": ["understanding.md", "impact-analysis.md", "proposal.md"]
|
|
244
|
+
}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
同时更新 `6aspecdoc/brown/<name>/requirement.md`:
|
|
248
|
+
- 更新"状态"字段为 `📋 Specs 待开始`
|
|
249
|
+
- 更新"最后修改"时间戳为 `<timestamp>`
|
|
250
|
+
- 更新"当前阶段"为 `Proposal - 需求提案(已完成)`
|
|
251
|
+
- 更新"下一步操作"为 `运行 /6aspec:brown:specs 继续下一阶段`
|
|
252
|
+
- 在"进度概览"中标记 Proposal 阶段为已完成 `[x]`
|
|
253
|
+
|
|
254
|
+
6. **停止并等待用户指令**
|
|
122
255
|
|
|
123
256
|
**输出**
|
|
124
257
|
|
|
258
|
+
根据 `flowDepth` 和执行阶段显示不同的输出信息:
|
|
259
|
+
|
|
260
|
+
**轻量级流程 - 待明确问题阶段**(如果步骤3中发现有待明确问题):
|
|
261
|
+
```
|
|
262
|
+
## 需要明确的问题:<name>
|
|
263
|
+
|
|
264
|
+
**流程**: 轻量级
|
|
265
|
+
**阶段**: Proposal(探索中)
|
|
266
|
+
|
|
267
|
+
### 代码库探索结果
|
|
268
|
+
- 相关实体类:<数量>
|
|
269
|
+
- 相关服务类:<数量>
|
|
270
|
+
- 受影响文件:<数量>
|
|
271
|
+
|
|
272
|
+
### 待明确问题
|
|
273
|
+
|
|
274
|
+
基于代码库探索,发现以下问题需要明确:
|
|
275
|
+
|
|
276
|
+
#### 字段设计
|
|
277
|
+
1. <问题1>
|
|
278
|
+
2. <问题2>
|
|
279
|
+
|
|
280
|
+
#### 业务规则
|
|
281
|
+
3. <问题3>
|
|
282
|
+
4. <问题4>
|
|
283
|
+
|
|
284
|
+
#### 其他
|
|
285
|
+
5. <问题5>
|
|
286
|
+
|
|
287
|
+
### 下一步
|
|
288
|
+
请回答上述问题,我会基于你的回答生成proposal。
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
**轻量级流程 - Proposal完成**:
|
|
125
292
|
```
|
|
126
293
|
## Proposal 完成:<name>
|
|
127
294
|
|
|
@@ -129,19 +296,58 @@
|
|
|
129
296
|
**进度**: 1/4 阶段完成
|
|
130
297
|
|
|
131
298
|
### 提案概要
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
299
|
+
- Why: <简述>
|
|
300
|
+
- What Changes: <数量> 项变更
|
|
301
|
+
- Capabilities: <数量> 个能力
|
|
135
302
|
|
|
136
|
-
###
|
|
137
|
-
|
|
303
|
+
### 文档位置
|
|
304
|
+
6aspecdoc/brown/<name>/artifacts/proposal.md
|
|
305
|
+
|
|
306
|
+
### 下一步
|
|
307
|
+
- 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
|
|
308
|
+
- 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
|
|
309
|
+
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**标准级流程**:
|
|
313
|
+
```
|
|
314
|
+
## Proposal 完成:<name>
|
|
315
|
+
|
|
316
|
+
**流程**: 标准级
|
|
317
|
+
**进度**: 3/6 阶段完成
|
|
318
|
+
|
|
319
|
+
### 提案概要
|
|
320
|
+
- Why: <简述>
|
|
321
|
+
- What Changes: <数量> 项变更
|
|
322
|
+
- Capabilities: <数量> 个能力
|
|
138
323
|
|
|
139
324
|
### 文档位置
|
|
140
325
|
6aspecdoc/brown/<name>/artifacts/proposal.md
|
|
141
326
|
|
|
142
327
|
### 下一步
|
|
143
328
|
- 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
|
|
144
|
-
- 运行 `/6aspec:brown:
|
|
329
|
+
- 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
|
|
330
|
+
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
**完整级流程**:
|
|
334
|
+
```
|
|
335
|
+
## Proposal 完成:<name>
|
|
336
|
+
|
|
337
|
+
**流程**: 完整级
|
|
338
|
+
**进度**: 3/8 阶段完成
|
|
339
|
+
|
|
340
|
+
### 提案概要
|
|
341
|
+
- Why: <简述>
|
|
342
|
+
- What Changes: <数量> 项变更
|
|
343
|
+
- Capabilities: <数量> 个能力
|
|
344
|
+
|
|
345
|
+
### 文档位置
|
|
346
|
+
6aspecdoc/brown/<name>/artifacts/proposal.md
|
|
347
|
+
|
|
348
|
+
### 下一步
|
|
349
|
+
- 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
|
|
350
|
+
- 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
|
|
145
351
|
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
146
352
|
```
|
|
147
353
|
|
|
@@ -154,7 +360,19 @@
|
|
|
154
360
|
4. **禁止**:不得自动进入下一阶段
|
|
155
361
|
|
|
156
362
|
**防护措施**
|
|
157
|
-
-
|
|
363
|
+
- 适用于所有流程(轻量级、标准级、完整级)
|
|
158
364
|
- 如果需求信息不明确,必须询问用户
|
|
159
365
|
- 提案必须包含Why、What、Impact三个核心部分
|
|
366
|
+
- 提案应聚焦高层次的业务目标和核心能力,不包含详细的功能需求(FR)和验收标准(AC)
|
|
367
|
+
- 详细的功能需求和验收标准应该在specs阶段定义
|
|
160
368
|
- 风险评估不能省略
|
|
369
|
+
|
|
370
|
+
**轻量级流程的特殊防护措施**:
|
|
371
|
+
- 如果没有explore-summary.md,必须执行轻量级探索(步骤3)
|
|
372
|
+
- 轻量级探索应该快速、聚焦,只搜索关键实体类、服务类和受影响文件
|
|
373
|
+
- 轻量级探索不生成独立文档,探索结果直接用于proposal生成
|
|
374
|
+
- 如果探索过程中发现待明确问题,必须询问用户,不能基于假设生成proposal
|
|
375
|
+
- 待明确问题数量应该控制在2-5个,保持轻量(与标准级/完整级的5-10个问题相比)
|
|
376
|
+
- 如果没有待明确问题,可以直接生成proposal
|
|
377
|
+
- 不要在轻量级流程中执行过于深入的分析(如绘制ERD图、流程图等),这些应该在标准级/完整级流程中完成
|
|
378
|
+
- 轻量级探索的目标是"快速理解现有实现",而不是"深入分析系统架构"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 棕地需求 - Quick SOP
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
快速通道 - 适用于简单修复和小改动。
|
|
4
4
|
|
|
5
5
|
**输入**:`/6aspec:brown:quick` 后的参数是需求名称(kebab-case)或需求描述。
|
|
6
6
|
|
|
@@ -27,10 +27,12 @@ P2 需求快速通道 - 适用于简单修复和小改动。
|
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
创建状态文件 `6aspecdoc/brown/<name>/status.json`:
|
|
30
|
+
|
|
31
|
+
**注意**:所有时间戳必须使用东八区(北京时间)格式:`yyyy-MM-dd HH:mm:ss`(例如:`2026-02-20 12:36:23`)
|
|
32
|
+
|
|
30
33
|
```json
|
|
31
34
|
{
|
|
32
35
|
"name": "<name>",
|
|
33
|
-
"priority": "P2",
|
|
34
36
|
"status": "quick_track",
|
|
35
37
|
"createdAt": "<timestamp>",
|
|
36
38
|
"lastModified": "<timestamp>",
|
|
@@ -43,7 +45,6 @@ P2 需求快速通道 - 适用于简单修复和小改动。
|
|
|
43
45
|
# <需求标题>
|
|
44
46
|
|
|
45
47
|
> **需求ID**: <name>
|
|
46
|
-
> **优先级**: P2(快速通道)
|
|
47
48
|
> **状态**: 🚀 快速处理中
|
|
48
49
|
> **创建时间**: <timestamp>
|
|
49
50
|
|
|
@@ -102,7 +103,6 @@ P2 需求快速通道 - 适用于简单修复和小改动。
|
|
|
102
103
|
```
|
|
103
104
|
## 快速处理完成:<name>
|
|
104
105
|
|
|
105
|
-
**优先级**: P2(快速通道)
|
|
106
106
|
**处理时间**: <时间戳>
|
|
107
107
|
|
|
108
108
|
### 修改内容
|
|
@@ -118,7 +118,7 @@ P2 需求快速通道 - 适用于简单修复和小改动。
|
|
|
118
118
|
- 或归档:运行 `/6aspec:brown:archive` 归档此需求
|
|
119
119
|
|
|
120
120
|
### 注意
|
|
121
|
-
|
|
121
|
+
快速通道跳过了详细的分析和设计阶段。
|
|
122
122
|
如果发现需求比预期复杂,建议使用完整流程(/6aspec:brown:new)。
|
|
123
123
|
```
|
|
124
124
|
|
|
@@ -20,7 +20,7 @@ Phase 7: 实施后评估
|
|
|
20
20
|
- `6aspecdoc/brown/<name>/requirement.md` - 原始需求
|
|
21
21
|
- `6aspecdoc/brown/<name>/artifacts/02-impact-analysis.md` - 预期影响
|
|
22
22
|
- `6aspecdoc/brown/<name>/artifacts/03-technical-design.md` - 技术方案
|
|
23
|
-
- `6aspecdoc/brown/<name>/artifacts/ADR-<name>.md` -
|
|
23
|
+
- `6aspecdoc/brown/<name>/artifacts/ADR-<name>.md` - 架构决策(如有)
|
|
24
24
|
|
|
25
25
|
3. **参考相关归档需求(可选)**
|
|
26
26
|
|
|
@@ -60,7 +60,7 @@ Phase 7: 实施后评估
|
|
|
60
60
|
- 用户反馈如何?
|
|
61
61
|
- 是否需要调整?
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
**架构决策回顾**(如有):
|
|
64
64
|
- 当初的架构决策是否正确?
|
|
65
65
|
- 有哪些经验教训?
|
|
66
66
|
- 需要更新 ADR 吗?
|
|
@@ -144,7 +144,7 @@ Phase 7: 实施后评估
|
|
|
144
144
|
调整计划(如需要):
|
|
145
145
|
<调整计划>
|
|
146
146
|
|
|
147
|
-
## 3.
|
|
147
|
+
## 3. 架构决策回顾(如有)
|
|
148
148
|
|
|
149
149
|
### 3.1 决策回顾
|
|
150
150
|
|
|
@@ -266,5 +266,5 @@ Phase 7: 实施后评估
|
|
|
266
266
|
- 必须先完成 Phase 6
|
|
267
267
|
- 评估必须基于实际数据,不能主观臆断
|
|
268
268
|
- 必须收集用户反馈
|
|
269
|
-
-
|
|
269
|
+
- 涉及架构决策的需求必须回顾架构决策
|
|
270
270
|
- 必须进行知识沉淀
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
**限制**:
|
|
13
13
|
- 只能一级一级往上退,不允许跨节点
|
|
14
14
|
- 只能回退已完成的阶段(状态为 "done")
|
|
15
|
-
-
|
|
15
|
+
- 不能回退第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand)
|
|
16
|
+
- 不能从实施阶段回退(implement、verify、review),因为代码已修改,回退文档会导致文档和代码不一致
|
|
17
|
+
- 只允许在分析阶段回退(proposal、understand、specs、impact、design、tasks)
|
|
16
18
|
- 已归档的需求不能回退
|
|
17
19
|
|
|
18
20
|
**步骤**
|
|
@@ -35,28 +37,32 @@
|
|
|
35
37
|
根据流程深度和当前阶段,确定上一个阶段:
|
|
36
38
|
|
|
37
39
|
**轻量级流程(lightweight)**:
|
|
38
|
-
-
|
|
40
|
+
- specs → proposal
|
|
41
|
+
- design → specs
|
|
39
42
|
- tasks → design
|
|
40
|
-
- implement → tasks
|
|
43
|
+
- ~~implement → tasks~~(禁止:代码已修改)
|
|
41
44
|
|
|
42
45
|
**标准级流程(standard)**:
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
+
- impact → understand
|
|
47
|
+
- proposal → impact
|
|
48
|
+
- specs → proposal
|
|
49
|
+
- design → specs
|
|
46
50
|
- tasks → design
|
|
47
|
-
- implement → tasks
|
|
51
|
+
- ~~implement → tasks~~(禁止:代码已修改)
|
|
48
52
|
|
|
49
53
|
**完整级流程(complete)**:
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
54
|
+
- impact → understand
|
|
55
|
+
- proposal → impact
|
|
56
|
+
- specs → proposal
|
|
57
|
+
- design → specs
|
|
53
58
|
- tasks → design
|
|
54
|
-
- implement → tasks
|
|
55
|
-
- verify → implement
|
|
56
|
-
- review → verify
|
|
59
|
+
- ~~implement → tasks~~(禁止:代码已修改)
|
|
60
|
+
- ~~verify → implement~~(禁止:代码已修改)
|
|
61
|
+
- ~~review → verify~~(禁止:代码已修改)
|
|
57
62
|
|
|
58
63
|
**边界情况**:
|
|
59
|
-
-
|
|
64
|
+
- 如果当前在第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand),提示无法回退
|
|
65
|
+
- 如果当前在实施阶段(implement、verify、review),提示无法回退(代码已修改)
|
|
60
66
|
- 如果所有阶段都是 pending,提示没有可回退的阶段
|
|
61
67
|
|
|
62
68
|
4. **确认回退操作**
|
|
@@ -133,9 +139,10 @@
|
|
|
133
139
|
"name": "example",
|
|
134
140
|
"flowDepth": "standard",
|
|
135
141
|
"status": "tasks_pending",
|
|
136
|
-
"createdAt": "2026-02-
|
|
137
|
-
"lastModified": "2026-02-
|
|
142
|
+
"createdAt": "2026-02-15 18:00:00",
|
|
143
|
+
"lastModified": "2026-02-15 18:30:00",
|
|
138
144
|
"phases": {
|
|
145
|
+
"proposal": "done",
|
|
139
146
|
"understand": "done",
|
|
140
147
|
"specs": "done",
|
|
141
148
|
"impact": "done",
|
|
@@ -143,7 +150,7 @@
|
|
|
143
150
|
"tasks": "pending",
|
|
144
151
|
"implement": "blocked"
|
|
145
152
|
},
|
|
146
|
-
"artifacts": ["understanding.md", "specs.md", "impact-analysis.md", "design.md"]
|
|
153
|
+
"artifacts": ["proposal.md", "understanding.md", "specs.md", "impact-analysis.md", "design.md"]
|
|
147
154
|
}
|
|
148
155
|
```
|
|
149
156
|
|
|
@@ -174,7 +181,9 @@
|
|
|
174
181
|
**防护措施**
|
|
175
182
|
- 必须确认需求未归档
|
|
176
183
|
- 必须确认当前阶段已完成(状态为 "done")
|
|
177
|
-
-
|
|
184
|
+
- 不能回退第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand)
|
|
185
|
+
- 不能从实施阶段回退(implement、verify、review)
|
|
186
|
+
- 只允许在分析阶段回退(proposal、understand、specs、impact、design、tasks)
|
|
178
187
|
- 必须用户确认后才能执行回退
|
|
179
188
|
- 删除文件前检查文件是否存在
|
|
180
189
|
- 更新状态时保持一致性
|
|
@@ -183,6 +192,7 @@
|
|
|
183
192
|
|
|
184
193
|
- 如果需求不存在,提示创建新需求
|
|
185
194
|
- 如果需求已归档,提示先取消归档
|
|
186
|
-
-
|
|
195
|
+
- 如果当前在第一个阶段(轻量级流程:proposal,标准级/完整级流程:understand),提示无法回退
|
|
196
|
+
- 如果当前在实施阶段(implement、verify、review),提示无法回退,原因:代码已修改,回退文档会导致文档和代码不一致
|
|
187
197
|
- 如果所有阶段都是 pending,提示没有可回退的阶段
|
|
188
198
|
- 如果文件删除失败,提示错误信息但继续更新状态
|