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
|
@@ -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,182 @@
|
|
|
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
|
+
- 搜索相关实体类:pattern = `class.*<关键词>.*Entity`,type = `java`,glob = `*Entity.java`
|
|
67
|
+
- 搜索相关服务类:pattern = `class.*<关键词>.*Service`,type = `java`,glob = `*Service.java`
|
|
68
|
+
- 搜索相关 Controller 类:pattern = `class.*<关键词>.*Controller`,type = `java`,glob = `*Controller.java`
|
|
69
|
+
- 搜索关键业务逻辑:pattern = `<关键方法名>`,type = `java`
|
|
70
|
+
|
|
71
|
+
识别受影响的核心文件(3-5 个),快速阅读关键代码片段。
|
|
72
|
+
|
|
73
|
+
b. **识别待明确问题**
|
|
74
|
+
|
|
75
|
+
基于探索结果(explore-summary.md、对话上下文中的探索内容、或刚刚执行的轻量级探索)和需求描述,识别不清楚的地方,生成待明确问题清单:
|
|
76
|
+
|
|
77
|
+
**问题类型**:
|
|
78
|
+
- 字段设计问题(名称、类型、必填、默认值、值域)
|
|
79
|
+
- 业务规则问题(是否可修改、是否继承、是否同步)
|
|
80
|
+
- 权限和统计问题(权限控制、统计报表)
|
|
81
|
+
- 集成和兼容问题(与其他模块的集成、数据迁移)
|
|
82
|
+
|
|
83
|
+
**问题数量**:2-5个最重要的问题(保持轻量)
|
|
84
|
+
|
|
85
|
+
c. **询问用户**
|
|
86
|
+
|
|
87
|
+
如果有待明确问题,展示问题清单并等待用户回答:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
## 需要明确的问题
|
|
39
91
|
|
|
40
|
-
|
|
92
|
+
基于代码库探索,发现以下问题需要明确:
|
|
41
93
|
|
|
42
|
-
###
|
|
43
|
-
|
|
94
|
+
### 字段设计
|
|
95
|
+
1. <问题1>
|
|
96
|
+
2. <问题2>
|
|
44
97
|
|
|
45
|
-
###
|
|
46
|
-
|
|
98
|
+
### 业务规则
|
|
99
|
+
3. <问题3>
|
|
100
|
+
4. <问题4>
|
|
47
101
|
|
|
48
|
-
|
|
49
|
-
|
|
102
|
+
请回答上述问题,我会基于你的回答生成proposal。
|
|
103
|
+
```
|
|
50
104
|
|
|
51
|
-
|
|
105
|
+
**等待用户回答**,不要自动进入下一步。
|
|
52
106
|
|
|
53
|
-
|
|
54
|
-
<功能概述>
|
|
107
|
+
d. **处理用户回答**
|
|
55
108
|
|
|
56
|
-
|
|
109
|
+
当用户回答问题后:
|
|
110
|
+
- 记录用户的回答(用于proposal生成)
|
|
111
|
+
- 继续执行步骤4(创建提案文档)
|
|
57
112
|
|
|
58
|
-
|
|
59
|
-
|
|
113
|
+
**注意**:
|
|
114
|
+
- 探索结果和用户回答不生成独立文档,直接用于proposal生成
|
|
115
|
+
- 如果没有待明确问题,直接跳过询问步骤,继续生成proposal
|
|
116
|
+
- 优先使用explore-summary.md(如果存在且用户未明确要求重新探索)
|
|
117
|
+
- 其次利用对话上下文中的探索内容(如果用户之前执行了explore命令)
|
|
118
|
+
- 最后才执行新的轻量级探索(如果既没有explore-summary.md也没有对话上下文中的探索内容)
|
|
119
|
+
- 即使已有探索内容,如果用户明确要求探索,也应该执行新的探索
|
|
60
120
|
|
|
61
|
-
|
|
62
|
-
- <验收标准1>
|
|
63
|
-
- <验收标准2>
|
|
121
|
+
4. **创建提案文档(OpenSpec 格式)**
|
|
64
122
|
|
|
65
|
-
|
|
66
|
-
|
|
123
|
+
创建 `6aspecdoc/brown/<name>/artifacts/proposal.md`:
|
|
124
|
+
```markdown
|
|
125
|
+
# Proposal: <需求标题>
|
|
67
126
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
127
|
+
> **需求**: <name>
|
|
128
|
+
> **流程**: <flowDepth>
|
|
129
|
+
> **阶段**: Proposal
|
|
130
|
+
> **状态**: ✅ 已完成
|
|
131
|
+
> **创建时间**: <timestamp>
|
|
71
132
|
|
|
72
|
-
|
|
73
|
-
**包含**:
|
|
74
|
-
- <包含的内容>
|
|
133
|
+
## Why
|
|
75
134
|
|
|
76
|
-
|
|
77
|
-
- <不包含的内容>
|
|
135
|
+
<1-2 sentences explaining the problem/opportunity>
|
|
78
136
|
|
|
79
|
-
|
|
80
|
-
- AC-001: <整体验收标准1>
|
|
81
|
-
- AC-002: <整体验收标准2>
|
|
137
|
+
## What Changes
|
|
82
138
|
|
|
83
|
-
|
|
139
|
+
<Bullet points of what will be different>
|
|
140
|
+
- <变更点1>
|
|
141
|
+
- <变更点2>
|
|
142
|
+
- <变更点3>
|
|
84
143
|
|
|
85
|
-
|
|
86
|
-
- 数据库:<影响描述>
|
|
87
|
-
- 后端代码:<影响描述>
|
|
88
|
-
- 前端代码:<影响描述>
|
|
89
|
-
- API接口:<影响描述>
|
|
144
|
+
## Capabilities
|
|
90
145
|
|
|
91
|
-
###
|
|
92
|
-
-
|
|
93
|
-
-
|
|
146
|
+
### New Capabilities
|
|
147
|
+
- `<capability-name>`: <brief description>
|
|
148
|
+
- `<capability-name>`: <brief description>
|
|
94
149
|
|
|
95
|
-
###
|
|
96
|
-
|
|
97
|
-
-
|
|
150
|
+
### Modified Capabilities
|
|
151
|
+
<!-- If modifying existing behavior -->
|
|
152
|
+
- `<capability-name>`: <brief description>
|
|
98
153
|
|
|
99
|
-
##
|
|
154
|
+
## Impact(范围影响)
|
|
100
155
|
|
|
101
|
-
|
|
156
|
+
> 只描述「范围影响」而非实现细节:不写代码/类/数据库表层面的改动。
|
|
157
|
+
|
|
158
|
+
- **业务影响**:<影响哪些业务流程/指标/体验>
|
|
159
|
+
- **用户与角色影响**:<影响哪些角色/人群/是否需要公告或培训>
|
|
160
|
+
- **系统模块影响**:<影响哪些系统/领域模块(模块级即可)>
|
|
161
|
+
- **兼容性影响**:<行为/接口是否向后兼容;对现有流程是否有行为变化>
|
|
162
|
+
- **数据影响(业务口径)**:<业务字段含义/口径变化;是否需要补数据/迁移(不写表结构)>
|
|
163
|
+
- **运营/流程影响**:<运营配置、审批链路、权限策略是否变化>
|
|
164
|
+
- **风险与回滚影响**:<主要风险点;是否可灰度;回滚对业务的影响>
|
|
165
|
+
|
|
166
|
+
## Next Steps
|
|
167
|
+
|
|
168
|
+
- 轻量级流程:运行 `/6aspec:brown:specs` 进行需求规格定义
|
|
169
|
+
- 标准级/完整级流程:运行 `/6aspec:brown:specs` 进行需求规格定义
|
|
102
170
|
```
|
|
103
171
|
|
|
104
|
-
|
|
172
|
+
**注意**:
|
|
173
|
+
- Proposal 格式遵循 OpenSpec 规范,保持简洁
|
|
174
|
+
- Why 部分:1-2 句话说明问题或机会
|
|
175
|
+
- What Changes 部分:列出主要变更点
|
|
176
|
+
- Capabilities 部分:列出新增或修改的系统能力(每个 capability 将对应一个 spec 文件)
|
|
177
|
+
- Impact(范围影响)部分:只写业务/系统范围影响、兼容性、数据口径、风险与回滚等,不写代码/类/数据库表等实现细节
|
|
178
|
+
- Impact 内容基于:原始需求描述、(如有)explore 摘要、以及标准级/完整级流程中的 understanding / impact-analysis 结论进行归纳
|
|
179
|
+
- 如果轻量级流程在步骤3中询问了用户问题,基于用户的回答生成proposal
|
|
180
|
+
|
|
181
|
+
5. **更新状态**
|
|
105
182
|
|
|
106
183
|
更新 `6aspecdoc/brown/<name>/status.json`:
|
|
184
|
+
|
|
185
|
+
**轻量级流程**:
|
|
107
186
|
```json
|
|
108
187
|
{
|
|
109
|
-
"status": "
|
|
188
|
+
"status": "specs_pending",
|
|
110
189
|
"flowDepth": "lightweight",
|
|
111
190
|
"phases": {
|
|
112
191
|
"proposal": "done",
|
|
113
|
-
"
|
|
192
|
+
"specs": "pending",
|
|
193
|
+
"design": "blocked",
|
|
114
194
|
"tasks": "blocked",
|
|
115
195
|
"implement": "blocked"
|
|
116
196
|
},
|
|
@@ -118,10 +198,89 @@
|
|
|
118
198
|
}
|
|
119
199
|
```
|
|
120
200
|
|
|
121
|
-
|
|
201
|
+
**标准级流程**:
|
|
202
|
+
```json
|
|
203
|
+
{
|
|
204
|
+
"status": "specs_pending",
|
|
205
|
+
"flowDepth": "standard",
|
|
206
|
+
"phases": {
|
|
207
|
+
"understand": "done",
|
|
208
|
+
"impact": "done",
|
|
209
|
+
"proposal": "done",
|
|
210
|
+
"specs": "pending",
|
|
211
|
+
"design": "blocked",
|
|
212
|
+
"tasks": "blocked",
|
|
213
|
+
"implement": "blocked"
|
|
214
|
+
},
|
|
215
|
+
"artifacts": ["understanding.md", "impact-analysis.md", "proposal.md"]
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**完整级流程**:
|
|
220
|
+
```json
|
|
221
|
+
{
|
|
222
|
+
"status": "specs_pending",
|
|
223
|
+
"flowDepth": "complete",
|
|
224
|
+
"phases": {
|
|
225
|
+
"understand": "done",
|
|
226
|
+
"impact": "done",
|
|
227
|
+
"proposal": "done",
|
|
228
|
+
"specs": "pending",
|
|
229
|
+
"design": "blocked",
|
|
230
|
+
"tasks": "blocked",
|
|
231
|
+
"implement": "blocked",
|
|
232
|
+
"verify": "blocked",
|
|
233
|
+
"review": "blocked"
|
|
234
|
+
},
|
|
235
|
+
"artifacts": ["understanding.md", "impact-analysis.md", "proposal.md"]
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
同时更新 `6aspecdoc/brown/<name>/requirement.md`:
|
|
240
|
+
- 更新"状态"字段为 `📋 Specs 待开始`
|
|
241
|
+
- 更新"最后修改"时间戳为 `<timestamp>`
|
|
242
|
+
- 更新"当前阶段"为 `Proposal - 需求提案(已完成)`
|
|
243
|
+
- 更新"下一步操作"为 `运行 /6aspec:brown:specs 继续下一阶段`
|
|
244
|
+
- 在"进度概览"中标记 Proposal 阶段为已完成 `[x]`
|
|
245
|
+
|
|
246
|
+
6. **停止并等待用户指令**
|
|
122
247
|
|
|
123
248
|
**输出**
|
|
124
249
|
|
|
250
|
+
根据 `flowDepth` 和执行阶段显示不同的输出信息:
|
|
251
|
+
|
|
252
|
+
**轻量级流程 - 待明确问题阶段**(如果步骤3中发现有待明确问题):
|
|
253
|
+
```
|
|
254
|
+
## 需要明确的问题:<name>
|
|
255
|
+
|
|
256
|
+
**流程**: 轻量级
|
|
257
|
+
**阶段**: Proposal(探索中)
|
|
258
|
+
|
|
259
|
+
### 代码库探索结果
|
|
260
|
+
- 相关实体类:<数量>
|
|
261
|
+
- 相关服务类:<数量>
|
|
262
|
+
- 受影响文件:<数量>
|
|
263
|
+
|
|
264
|
+
### 待明确问题
|
|
265
|
+
|
|
266
|
+
基于代码库探索,发现以下问题需要明确:
|
|
267
|
+
|
|
268
|
+
#### 字段设计
|
|
269
|
+
1. <问题1>
|
|
270
|
+
2. <问题2>
|
|
271
|
+
|
|
272
|
+
#### 业务规则
|
|
273
|
+
3. <问题3>
|
|
274
|
+
4. <问题4>
|
|
275
|
+
|
|
276
|
+
#### 其他
|
|
277
|
+
5. <问题5>
|
|
278
|
+
|
|
279
|
+
### 下一步
|
|
280
|
+
请回答上述问题,我会基于你的回答生成proposal。
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**轻量级流程 - Proposal完成**:
|
|
125
284
|
```
|
|
126
285
|
## Proposal 完成:<name>
|
|
127
286
|
|
|
@@ -129,19 +288,58 @@
|
|
|
129
288
|
**进度**: 1/4 阶段完成
|
|
130
289
|
|
|
131
290
|
### 提案概要
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
291
|
+
- Why: <简述>
|
|
292
|
+
- What Changes: <数量> 项变更
|
|
293
|
+
- Capabilities: <数量> 个能力
|
|
135
294
|
|
|
136
|
-
###
|
|
137
|
-
|
|
295
|
+
### 文档位置
|
|
296
|
+
6aspecdoc/brown/<name>/artifacts/proposal.md
|
|
297
|
+
|
|
298
|
+
### 下一步
|
|
299
|
+
- 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
|
|
300
|
+
- 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
|
|
301
|
+
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
**标准级流程**:
|
|
305
|
+
```
|
|
306
|
+
## Proposal 完成:<name>
|
|
307
|
+
|
|
308
|
+
**流程**: 标准级
|
|
309
|
+
**进度**: 3/6 阶段完成
|
|
310
|
+
|
|
311
|
+
### 提案概要
|
|
312
|
+
- Why: <简述>
|
|
313
|
+
- What Changes: <数量> 项变更
|
|
314
|
+
- Capabilities: <数量> 个能力
|
|
315
|
+
|
|
316
|
+
### 文档位置
|
|
317
|
+
6aspecdoc/brown/<name>/artifacts/proposal.md
|
|
318
|
+
|
|
319
|
+
### 下一步
|
|
320
|
+
- 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
|
|
321
|
+
- 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
|
|
322
|
+
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
**完整级流程**:
|
|
326
|
+
```
|
|
327
|
+
## Proposal 完成:<name>
|
|
328
|
+
|
|
329
|
+
**流程**: 完整级
|
|
330
|
+
**进度**: 3/8 阶段完成
|
|
331
|
+
|
|
332
|
+
### 提案概要
|
|
333
|
+
- Why: <简述>
|
|
334
|
+
- What Changes: <数量> 项变更
|
|
335
|
+
- Capabilities: <数量> 个能力
|
|
138
336
|
|
|
139
337
|
### 文档位置
|
|
140
338
|
6aspecdoc/brown/<name>/artifacts/proposal.md
|
|
141
339
|
|
|
142
340
|
### 下一步
|
|
143
341
|
- 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
|
|
144
|
-
- 运行 `/6aspec:brown:
|
|
342
|
+
- 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
|
|
145
343
|
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
146
344
|
```
|
|
147
345
|
|
|
@@ -154,7 +352,19 @@
|
|
|
154
352
|
4. **禁止**:不得自动进入下一阶段
|
|
155
353
|
|
|
156
354
|
**防护措施**
|
|
157
|
-
-
|
|
355
|
+
- 适用于所有流程(轻量级、标准级、完整级)
|
|
158
356
|
- 如果需求信息不明确,必须询问用户
|
|
159
|
-
- 提案必须包含Why、What、Impact三个核心部分
|
|
357
|
+
- 提案必须包含 Why、What、Impact(范围影响) 三个核心部分
|
|
358
|
+
- 提案应聚焦高层次的业务目标和核心能力,不包含详细的功能需求(FR)和验收标准(AC)
|
|
359
|
+
- 详细的功能需求和验收标准应该在specs阶段定义
|
|
160
360
|
- 风险评估不能省略
|
|
361
|
+
|
|
362
|
+
**轻量级流程的特殊防护措施**:
|
|
363
|
+
- 如果没有explore-summary.md,必须执行轻量级探索(步骤3)
|
|
364
|
+
- 轻量级探索应该快速、聚焦,只搜索关键实体类、服务类和受影响文件
|
|
365
|
+
- 轻量级探索不生成独立文档,探索结果直接用于proposal生成
|
|
366
|
+
- 如果探索过程中发现待明确问题,必须询问用户,不能基于假设生成proposal
|
|
367
|
+
- 待明确问题数量应该控制在2-5个,保持轻量(与标准级/完整级的5-10个问题相比)
|
|
368
|
+
- 如果没有待明确问题,可以直接生成proposal
|
|
369
|
+
- 不要在轻量级流程中执行过于深入的分析(如绘制ERD图、流程图等),这些应该在标准级/完整级流程中完成
|
|
370
|
+
- 轻量级探索的目标是"快速理解现有实现",而不是"深入分析系统架构"
|
|
@@ -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
|
- 如果文件删除失败,提示错误信息但继续更新状态
|