6aspec 2.0.0-dev.2
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/api_rule.md +578 -0
- package/.6aspec/rules/biz/background_job_rule.md +719 -0
- package/.6aspec/rules/biz/c_user_system_rule.md +240 -0
- package/.6aspec/rules/biz/code.md +39 -0
- package/.6aspec/rules/biz/event_subscriber_rule.md +529 -0
- package/.6aspec/rules/biz/project-structure.md +90 -0
- package/.6aspec/rules/biz/scheduled_job_rule.md +850 -0
- package/.6aspec/rules/brown/brown_archive_sop.md +132 -0
- package/.6aspec/rules/brown/brown_constitution.md +20 -0
- package/.6aspec/rules/brown/brown_continue_sop.md +97 -0
- package/.6aspec/rules/brown/brown_design_sop.md +155 -0
- package/.6aspec/rules/brown/brown_ff_sop.md +194 -0
- package/.6aspec/rules/brown/brown_impact_sop.md +296 -0
- package/.6aspec/rules/brown/brown_implement_sop.md +133 -0
- package/.6aspec/rules/brown/brown_list_sop.md +69 -0
- package/.6aspec/rules/brown/brown_new_sop.md +257 -0
- package/.6aspec/rules/brown/brown_proposal_sop.md +160 -0
- package/.6aspec/rules/brown/brown_quick_sop.md +134 -0
- package/.6aspec/rules/brown/brown_review_sop.md +270 -0
- package/.6aspec/rules/brown/brown_rollback_sop.md +188 -0
- package/.6aspec/rules/brown/brown_specs_sop.md +227 -0
- package/.6aspec/rules/brown/brown_status_sop.md +135 -0
- package/.6aspec/rules/brown/brown_tasks_sop.md +202 -0
- package/.6aspec/rules/brown/brown_understand_sop.md +211 -0
- package/.6aspec/rules/brown/brown_verify_sop.md +360 -0
- package/.6aspec/rules/green/6A_archive_sop.md +301 -0
- package/.6aspec/rules/green/6A_clarify_sop.md +238 -0
- package/.6aspec/rules/green/6A_code_implementation_sop.md +110 -0
- package/.6aspec/rules/green/6A_constitution.md +52 -0
- package/.6aspec/rules/green/6A_continue_sop.md +186 -0
- package/.6aspec/rules/green/6A_design_sop.md +228 -0
- package/.6aspec/rules/green/6A_import_model_table_sop.md +120 -0
- package/.6aspec/rules/green/6A_init_event_list_sop.md +62 -0
- package/.6aspec/rules/green/6A_init_map_sop.md +79 -0
- package/.6aspec/rules/green/6A_model_sop.md +210 -0
- package/.6aspec/rules/green/6A_new_sop.md +319 -0
- package/.6aspec/rules/green/6A_rollback_sop.md +198 -0
- package/.6aspec/rules/green/6A_status_sop.md +275 -0
- package/.6aspec/rules/green/6A_tasks_sop.md +181 -0
- package/.6aspec/rules/green/6A_visual_logic_sop.md +121 -0
- package/.6aspec/rules/green/green_status_schema.md +293 -0
- package/.6aspec/script/create_entities_from_markdown.py +688 -0
- package/.claude/commands/6aspec/brown/archive.md +11 -0
- package/.claude/commands/6aspec/brown/continue.md +11 -0
- package/.claude/commands/6aspec/brown/design.md +11 -0
- package/.claude/commands/6aspec/brown/ff.md +11 -0
- package/.claude/commands/6aspec/brown/impact.md +11 -0
- package/.claude/commands/6aspec/brown/implement.md +11 -0
- package/.claude/commands/6aspec/brown/list.md +11 -0
- package/.claude/commands/6aspec/brown/new.md +11 -0
- package/.claude/commands/6aspec/brown/proposal.md +11 -0
- package/.claude/commands/6aspec/brown/quick.md +11 -0
- package/.claude/commands/6aspec/brown/review.md +11 -0
- package/.claude/commands/6aspec/brown/rollback.md +11 -0
- package/.claude/commands/6aspec/brown/specs.md +11 -0
- package/.claude/commands/6aspec/brown/status.md +11 -0
- package/.claude/commands/6aspec/brown/tasks.md +11 -0
- package/.claude/commands/6aspec/brown/understand.md +11 -0
- package/.claude/commands/6aspec/brown/verify.md +11 -0
- package/.claude/commands/6aspec/green/archive.md +8 -0
- package/.claude/commands/6aspec/green/clarify.md +13 -0
- package/.claude/commands/6aspec/green/continue.md +8 -0
- package/.claude/commands/6aspec/green/design.md +8 -0
- package/.claude/commands/6aspec/green/execute-task.md +20 -0
- package/.claude/commands/6aspec/green/import-model-table.md +8 -0
- package/.claude/commands/6aspec/green/init.md +14 -0
- package/.claude/commands/6aspec/green/model.md +12 -0
- package/.claude/commands/6aspec/green/new.md +13 -0
- package/.claude/commands/6aspec/green/rollback.md +8 -0
- package/.claude/commands/6aspec/green/status.md +8 -0
- package/.claude/commands/6aspec/green/tasks.md +8 -0
- package/.claude/commands/6aspec/green/visual-logic.md +9 -0
- package/.claude/settings.local.json +8 -0
- package/.cursor/commands/6aspec/brown/archive.md +9 -0
- package/.cursor/commands/6aspec/brown/continue.md +9 -0
- package/.cursor/commands/6aspec/brown/design.md +9 -0
- package/.cursor/commands/6aspec/brown/ff.md +9 -0
- package/.cursor/commands/6aspec/brown/impact.md +9 -0
- package/.cursor/commands/6aspec/brown/implement.md +9 -0
- package/.cursor/commands/6aspec/brown/list.md +9 -0
- package/.cursor/commands/6aspec/brown/new.md +9 -0
- package/.cursor/commands/6aspec/brown/proposal.md +9 -0
- package/.cursor/commands/6aspec/brown/quick.md +9 -0
- package/.cursor/commands/6aspec/brown/review.md +9 -0
- package/.cursor/commands/6aspec/brown/rollback.md +9 -0
- package/.cursor/commands/6aspec/brown/specs.md +9 -0
- package/.cursor/commands/6aspec/brown/status.md +9 -0
- package/.cursor/commands/6aspec/brown/tasks.md +9 -0
- package/.cursor/commands/6aspec/brown/understand.md +9 -0
- package/.cursor/commands/6aspec/brown/verify.md +9 -0
- package/.cursor/commands/6aspec/green/archive.md +9 -0
- package/.cursor/commands/6aspec/green/clarify.md +14 -0
- package/.cursor/commands/6aspec/green/continue.md +9 -0
- package/.cursor/commands/6aspec/green/design.md +9 -0
- package/.cursor/commands/6aspec/green/execute-task.md +21 -0
- package/.cursor/commands/6aspec/green/import-model-table.md +9 -0
- package/.cursor/commands/6aspec/green/init.md +15 -0
- package/.cursor/commands/6aspec/green/model.md +13 -0
- package/.cursor/commands/6aspec/green/new.md +14 -0
- package/.cursor/commands/6aspec/green/rollback.md +9 -0
- package/.cursor/commands/6aspec/green/status.md +9 -0
- package/.cursor/commands/6aspec/green/tasks.md +9 -0
- package/.cursor/commands/6aspec/green/visual-logic.md +10 -0
- package/README.en.md +36 -0
- package/README.md +146 -0
- package/bin/6a-spec-install +54 -0
- package/bin/6aspec +48 -0
- package/lib/cli.js +318 -0
- package/lib/installer.js +333 -0
- package/package.json +62 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
# 棕地需求 - New SOP
|
|
2
|
+
|
|
3
|
+
开始一个新的需求分析流程。
|
|
4
|
+
|
|
5
|
+
**输入**:`/6aspec:brown:new` 后的参数支持三种形式:
|
|
6
|
+
- **需求名称**:kebab-case 名称(例如:`add-user-auth`)
|
|
7
|
+
- **需求描述**:直接的文字描述(例如:"在项目中添加用户认证功能")
|
|
8
|
+
- **文件引用**:通过 @文件路径 引用需求文档(例如:`@docs/prd-user-auth.md`)
|
|
9
|
+
|
|
10
|
+
**步骤**
|
|
11
|
+
|
|
12
|
+
1. **获取需求内容并识别输入类型**
|
|
13
|
+
|
|
14
|
+
根据用户输入判断类型:
|
|
15
|
+
|
|
16
|
+
**情况A:无输入** — 询问用户(开放式问题):
|
|
17
|
+
> "你想分析什么需求?请描述要实现的功能或要解决的问题,也可以 @引用 一个需求文档。"
|
|
18
|
+
|
|
19
|
+
**情况B:直接文字描述** — 记录原始描述文本,标记 `inputSource.type = "text"`。
|
|
20
|
+
|
|
21
|
+
**情况C:文件引用(@文件路径)** — 读取文件确认存在且内容相关,标记 `inputSource.type = "file"`,记录文件路径。
|
|
22
|
+
|
|
23
|
+
从描述/文件内容中提取 kebab-case 名称(例如:"添加用户认证" → `add-user-auth`)。
|
|
24
|
+
|
|
25
|
+
**重要**:必须理解用户想做什么才能继续。
|
|
26
|
+
|
|
27
|
+
2. **选择流程深度**
|
|
28
|
+
|
|
29
|
+
让用户选择流程深度:
|
|
30
|
+
```
|
|
31
|
+
问题:"请选择适合的流程深度:"
|
|
32
|
+
选项:
|
|
33
|
+
- 轻量级 - 快速迭代(proposal → design → tasks)(推荐用于需求明确的变更)
|
|
34
|
+
- 标准级 - 深入分析(understand → specs → impact → design → tasks)(推荐用于复杂业务变更)
|
|
35
|
+
- 完整级 - 全生命周期(understand → specs → impact → design → tasks → verify → review)(推荐用于关键变更)
|
|
36
|
+
- 快速通道 - 简单修复(直接实现,适用于Bug修复、单文件改动)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**流程深度说明**:
|
|
40
|
+
|
|
41
|
+
**轻量级(Lightweight)**:
|
|
42
|
+
- 阶段:proposal → design → tasks → implement
|
|
43
|
+
- 产出:proposal.md, design.md, tasks.md
|
|
44
|
+
- 适用:需求明确、快速迭代、小范围变更
|
|
45
|
+
- 示例:新增简单功能、UI调整、配置变更
|
|
46
|
+
|
|
47
|
+
**标准级(Standard)**:
|
|
48
|
+
- 阶段:understand → specs → impact → design → tasks → implement
|
|
49
|
+
- 产出:understanding.md, specs.md, impact-analysis.md, design.md, tasks.md
|
|
50
|
+
- 适用:复杂业务变更、多表联动、需要风险控制
|
|
51
|
+
- 示例:新增业务字段、复杂报表、工作流改造
|
|
52
|
+
|
|
53
|
+
**完整级(Complete)**:
|
|
54
|
+
- 阶段:understand → specs → impact → design → tasks → implement → verify → review
|
|
55
|
+
- 产出:understanding.md, specs.md, impact-analysis.md, design.md, tasks.md, verification-report.md, post-implementation-review.md
|
|
56
|
+
- 适用:关键变更、需要完整追踪和评估
|
|
57
|
+
- 示例:核心业务逻辑变更、重要功能重构
|
|
58
|
+
|
|
59
|
+
**快速通道(Quick)**:
|
|
60
|
+
- 阶段:直接实现
|
|
61
|
+
- 产出:requirement.md(最小化)
|
|
62
|
+
- 适用:Bug修复、文案调整、单文件改动
|
|
63
|
+
- 示例:修复验证逻辑、调整提示文案、简单重构
|
|
64
|
+
|
|
65
|
+
3. **创建需求目录结构**
|
|
66
|
+
|
|
67
|
+
根据流程深度创建不同的目录结构:
|
|
68
|
+
|
|
69
|
+
**轻量级/标准级/完整级**:
|
|
70
|
+
```bash
|
|
71
|
+
mkdir -p "6aspecdoc/brown/<name>"
|
|
72
|
+
mkdir -p "6aspecdoc/brown/<name>/artifacts"
|
|
73
|
+
mkdir -p "6aspecdoc/brown/<name>/tasks"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
创建状态文件 `6aspecdoc/brown/<name>/status.json`:
|
|
77
|
+
|
|
78
|
+
**轻量级**:
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"name": "<name>",
|
|
82
|
+
"flowDepth": "lightweight",
|
|
83
|
+
"status": "proposal_pending",
|
|
84
|
+
"createdAt": "<timestamp>",
|
|
85
|
+
"lastModified": "<timestamp>",
|
|
86
|
+
"inputSource": {
|
|
87
|
+
"type": "text | file",
|
|
88
|
+
"filePath": "<仅 type=file 时填写>"
|
|
89
|
+
},
|
|
90
|
+
"phases": {
|
|
91
|
+
"proposal": "pending",
|
|
92
|
+
"design": "blocked",
|
|
93
|
+
"tasks": "blocked",
|
|
94
|
+
"implement": "blocked"
|
|
95
|
+
},
|
|
96
|
+
"artifacts": []
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**标准级**:
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"name": "<name>",
|
|
104
|
+
"flowDepth": "standard",
|
|
105
|
+
"status": "understanding_pending",
|
|
106
|
+
"createdAt": "<timestamp>",
|
|
107
|
+
"lastModified": "<timestamp>",
|
|
108
|
+
"inputSource": {
|
|
109
|
+
"type": "text | file",
|
|
110
|
+
"filePath": "<仅 type=file 时填写>"
|
|
111
|
+
},
|
|
112
|
+
"phases": {
|
|
113
|
+
"understand": "pending",
|
|
114
|
+
"specs": "blocked",
|
|
115
|
+
"impact": "blocked",
|
|
116
|
+
"design": "blocked",
|
|
117
|
+
"tasks": "blocked",
|
|
118
|
+
"implement": "blocked"
|
|
119
|
+
},
|
|
120
|
+
"artifacts": []
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**完整级**:
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"name": "<name>",
|
|
128
|
+
"flowDepth": "complete",
|
|
129
|
+
"status": "understanding_pending",
|
|
130
|
+
"createdAt": "<timestamp>",
|
|
131
|
+
"lastModified": "<timestamp>",
|
|
132
|
+
"inputSource": {
|
|
133
|
+
"type": "text | file",
|
|
134
|
+
"filePath": "<仅 type=file 时填写>"
|
|
135
|
+
},
|
|
136
|
+
"phases": {
|
|
137
|
+
"understand": "pending",
|
|
138
|
+
"specs": "blocked",
|
|
139
|
+
"impact": "blocked",
|
|
140
|
+
"design": "blocked",
|
|
141
|
+
"tasks": "blocked",
|
|
142
|
+
"implement": "blocked",
|
|
143
|
+
"verify": "blocked",
|
|
144
|
+
"review": "blocked"
|
|
145
|
+
},
|
|
146
|
+
"artifacts": []
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
创建需求索引文件 `6aspecdoc/brown/<name>/requirement.md`:
|
|
151
|
+
```markdown
|
|
152
|
+
# <需求标题>
|
|
153
|
+
|
|
154
|
+
> **需求ID**: <name>
|
|
155
|
+
> **流程深度**: 轻量级/标准级/完整级
|
|
156
|
+
> **状态**: 📋 <当前阶段>
|
|
157
|
+
> **创建时间**: <timestamp>
|
|
158
|
+
> **最后修改**: <timestamp>
|
|
159
|
+
|
|
160
|
+
## 原始需求
|
|
161
|
+
|
|
162
|
+
<!-- 根据输入类型选择以下其一 -->
|
|
163
|
+
|
|
164
|
+
<!-- 情况A:直接文字描述(inputSource.type = "text") -->
|
|
165
|
+
<用户输入的原始需求描述,原文记录,不做加工>
|
|
166
|
+
|
|
167
|
+
<!-- 情况B:文件引用(inputSource.type = "file") -->
|
|
168
|
+
> **需求来源文件**:`<文件路径>`
|
|
169
|
+
>
|
|
170
|
+
> 完整需求内容请参考上述文件。
|
|
171
|
+
|
|
172
|
+
## 快速导航
|
|
173
|
+
|
|
174
|
+
**需求详情**:
|
|
175
|
+
- 轻量级流程:[proposal.md](artifacts/proposal.md) - 需求提案(Why、What、Impact)
|
|
176
|
+
- 标准级/完整级流程:[understanding.md](artifacts/understanding.md) - 需求理解与现状分析
|
|
177
|
+
|
|
178
|
+
**当前阶段**:<当前阶段名称>
|
|
179
|
+
|
|
180
|
+
**下一步操作**:
|
|
181
|
+
- 运行 `/6aspec:brown:<next-command>` 继续下一阶段
|
|
182
|
+
- 或运行 `/6aspec:brown:continue` 自动进入下一阶段
|
|
183
|
+
|
|
184
|
+
## 进度概览
|
|
185
|
+
|
|
186
|
+
根据流程深度显示不同的阶段列表:
|
|
187
|
+
|
|
188
|
+
**轻量级流程(4阶段)**:
|
|
189
|
+
- [ ] Proposal - 需求提案
|
|
190
|
+
- [ ] Design - 技术方案设计
|
|
191
|
+
- [ ] Tasks - 任务拆解
|
|
192
|
+
- [ ] Implement - 执行实现
|
|
193
|
+
|
|
194
|
+
**标准级流程(5阶段)**:
|
|
195
|
+
- [ ] Understand - 需求理解与现状分析
|
|
196
|
+
- [ ] Impact - 影响面分析
|
|
197
|
+
- [ ] Design - 技术方案设计
|
|
198
|
+
- [ ] Tasks - 任务拆解
|
|
199
|
+
- [ ] Implement - 执行实现
|
|
200
|
+
|
|
201
|
+
**完整级流程(7阶段)**:
|
|
202
|
+
- [ ] Understand - 需求理解与现状分析
|
|
203
|
+
- [ ] Impact - 影响面分析
|
|
204
|
+
- [ ] Design - 技术方案设计
|
|
205
|
+
- [ ] Tasks - 任务拆解
|
|
206
|
+
- [ ] Implement - 执行实现
|
|
207
|
+
- [ ] Verify - 验证实现
|
|
208
|
+
- [ ] Review - 实施后评估
|
|
209
|
+
|
|
210
|
+
## 查看详细信息
|
|
211
|
+
|
|
212
|
+
运行 `/6aspec:brown:status <name>` 查看完整状态和所有文档。
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**快速通道**:
|
|
216
|
+
创建简化的目录结构,并提示使用 `/6aspec:brown:quick` 快速通道。
|
|
217
|
+
|
|
218
|
+
4. **显示初始化结果**
|
|
219
|
+
|
|
220
|
+
展示:
|
|
221
|
+
- 需求名称和位置
|
|
222
|
+
- 流程深度和说明
|
|
223
|
+
- 当前状态:0/N 阶段完成
|
|
224
|
+
- 下一步提示
|
|
225
|
+
|
|
226
|
+
5. **停止并等待用户指令**
|
|
227
|
+
|
|
228
|
+
**输出**
|
|
229
|
+
|
|
230
|
+
完成步骤后,总结:
|
|
231
|
+
```
|
|
232
|
+
## 需求已创建:<name>
|
|
233
|
+
|
|
234
|
+
**位置**: 6aspecdoc/brown/<name>/
|
|
235
|
+
**流程深度**: 轻量级/标准级/完整级/快速通道
|
|
236
|
+
**当前状态**: <第一阶段>(0/N 完成)
|
|
237
|
+
|
|
238
|
+
### 需求描述
|
|
239
|
+
<简要描述>
|
|
240
|
+
|
|
241
|
+
### 流程说明
|
|
242
|
+
<根据流程深度说明>
|
|
243
|
+
|
|
244
|
+
### 下一步
|
|
245
|
+
- 轻量级: 运行 `/6aspec:brown:proposal` 创建需求提案
|
|
246
|
+
- 标准级/完整级: 运行 `/6aspec:brown:understand` 开始需求理解与现状分析
|
|
247
|
+
- 快速通道: 运行 `/6aspec:brown:quick` 直接实现
|
|
248
|
+
- 或运行 `/6aspec:brown:ff` 快速完成分析阶段
|
|
249
|
+
- 或运行 `/6aspec:brown:continue` 自动进入下一阶段
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**防护措施**
|
|
253
|
+
- 不要创建任何 artifacts - 只创建目录结构和状态文件
|
|
254
|
+
- 不要超出初始化范围
|
|
255
|
+
- 如果名称无效(非 kebab-case),要求提供有效名称
|
|
256
|
+
- 如果同名需求已存在,建议使用 `/6aspec:brown:continue` 或选择新名称
|
|
257
|
+
- 必须让用户选择流程深度
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# 棕地需求 - Proposal SOP
|
|
2
|
+
|
|
3
|
+
创建需求提案 - 轻量级流程的第一阶段。
|
|
4
|
+
|
|
5
|
+
**适用流程**:轻量级(类似OpenSpec)
|
|
6
|
+
|
|
7
|
+
**输入**:`/6aspec:brown:proposal` 后可选需求名称。
|
|
8
|
+
|
|
9
|
+
**步骤**
|
|
10
|
+
|
|
11
|
+
1. **选择需求并检查状态**
|
|
12
|
+
|
|
13
|
+
- 读取 `6aspecdoc/brown/<name>/status.json`
|
|
14
|
+
- 确认 `flowDepth` 为 "lightweight"
|
|
15
|
+
- 如果不是轻量级流程,提示使用 `/6aspec:brown:understand`
|
|
16
|
+
|
|
17
|
+
2. **收集需求信息**
|
|
18
|
+
|
|
19
|
+
首先读取 `6aspecdoc/brown/<name>/requirement.md` 中的"原始需求"部分:
|
|
20
|
+
- 如果 `inputSource.type = "text"`:直接使用其中记录的需求描述。
|
|
21
|
+
- 如果 `inputSource.type = "file"`:读取记录的来源文件路径,获取完整需求内容。
|
|
22
|
+
|
|
23
|
+
如果原始需求信息不足以生成提案,再询问用户补充:
|
|
24
|
+
- 为什么需要这个变更?(Why)
|
|
25
|
+
- 要做什么?(What)
|
|
26
|
+
- 预期影响是什么?(Impact)
|
|
27
|
+
|
|
28
|
+
3. **创建提案文档**
|
|
29
|
+
|
|
30
|
+
创建 `6aspecdoc/brown/<name>/artifacts/proposal.md`:
|
|
31
|
+
```markdown
|
|
32
|
+
# 需求提案:<需求标题>
|
|
33
|
+
|
|
34
|
+
> **需求**: <name>
|
|
35
|
+
> **流程**: 轻量级
|
|
36
|
+
> **阶段**: Proposal
|
|
37
|
+
> **状态**: ✅ 已完成
|
|
38
|
+
> **创建时间**: <timestamp>
|
|
39
|
+
|
|
40
|
+
## 为什么做(Why)
|
|
41
|
+
|
|
42
|
+
### 业务背景
|
|
43
|
+
<业务背景描述>
|
|
44
|
+
|
|
45
|
+
### 要解决的问题
|
|
46
|
+
<要解决的问题>
|
|
47
|
+
|
|
48
|
+
### 预期收益
|
|
49
|
+
<预期收益>
|
|
50
|
+
|
|
51
|
+
## 要做什么(What)
|
|
52
|
+
|
|
53
|
+
### 功能概述
|
|
54
|
+
<功能概述>
|
|
55
|
+
|
|
56
|
+
### 功能需求
|
|
57
|
+
|
|
58
|
+
#### FR-001: <功能名称>
|
|
59
|
+
**描述**:<功能描述>
|
|
60
|
+
|
|
61
|
+
**验收标准**:
|
|
62
|
+
- <验收标准1>
|
|
63
|
+
- <验收标准2>
|
|
64
|
+
|
|
65
|
+
#### FR-002: <功能名称>
|
|
66
|
+
**描述**:<功能描述>
|
|
67
|
+
|
|
68
|
+
**验收标准**:
|
|
69
|
+
- <验收标准1>
|
|
70
|
+
- <验收标准2>
|
|
71
|
+
|
|
72
|
+
### 范围界定
|
|
73
|
+
**包含**:
|
|
74
|
+
- <包含的内容>
|
|
75
|
+
|
|
76
|
+
**不包含**:
|
|
77
|
+
- <不包含的内容>
|
|
78
|
+
|
|
79
|
+
### 整体验收标准
|
|
80
|
+
- AC-001: <整体验收标准1>
|
|
81
|
+
- AC-002: <整体验收标准2>
|
|
82
|
+
|
|
83
|
+
## 预期影响(Impact)
|
|
84
|
+
|
|
85
|
+
### 技术影响
|
|
86
|
+
- 数据库:<影响描述>
|
|
87
|
+
- 后端代码:<影响描述>
|
|
88
|
+
- 前端代码:<影响描述>
|
|
89
|
+
- API接口:<影响描述>
|
|
90
|
+
|
|
91
|
+
### 业务影响
|
|
92
|
+
- 用户体验:<影响描述>
|
|
93
|
+
- 业务流程:<影响描述>
|
|
94
|
+
|
|
95
|
+
### 风险评估
|
|
96
|
+
- 技术风险:<风险描述>
|
|
97
|
+
- 业务风险:<风险描述>
|
|
98
|
+
|
|
99
|
+
## 下一步
|
|
100
|
+
|
|
101
|
+
运行 `/6aspec:brown:design` 进行技术方案设计。
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
4. **更新状态**
|
|
105
|
+
|
|
106
|
+
更新 `6aspecdoc/brown/<name>/status.json`:
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"status": "design_pending",
|
|
110
|
+
"flowDepth": "lightweight",
|
|
111
|
+
"phases": {
|
|
112
|
+
"proposal": "done",
|
|
113
|
+
"design": "pending",
|
|
114
|
+
"tasks": "blocked",
|
|
115
|
+
"implement": "blocked"
|
|
116
|
+
},
|
|
117
|
+
"artifacts": ["proposal.md"]
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
5. **停止并等待用户指令**
|
|
122
|
+
|
|
123
|
+
**输出**
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
## Proposal 完成:<name>
|
|
127
|
+
|
|
128
|
+
**流程**: 轻量级
|
|
129
|
+
**进度**: 1/4 阶段完成
|
|
130
|
+
|
|
131
|
+
### 提案概要
|
|
132
|
+
- 业务目标:<简述>
|
|
133
|
+
- 核心能力:<数量> 个
|
|
134
|
+
- 预期影响:<简述>
|
|
135
|
+
|
|
136
|
+
### 关键风险
|
|
137
|
+
<列出关键风险>
|
|
138
|
+
|
|
139
|
+
### 文档位置
|
|
140
|
+
6aspecdoc/brown/<name>/artifacts/proposal.md
|
|
141
|
+
|
|
142
|
+
### 下一步
|
|
143
|
+
- 直接回复补充或修正提案内容 → 我会更新本阶段文档(proposal.md)
|
|
144
|
+
- 运行 `/6aspec:brown:design` → 进入技术方案设计阶段
|
|
145
|
+
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**用户补充信息时的处理**
|
|
149
|
+
|
|
150
|
+
当用户补充需求细节、修正提案内容时(未使用阶段命令):
|
|
151
|
+
1. 将用户的补充整合到 `proposal.md` 的对应章节
|
|
152
|
+
2. 展示变更摘要
|
|
153
|
+
3. 再次提示:可以继续补充,或通过命令进入下一阶段
|
|
154
|
+
4. **禁止**:不得自动进入下一阶段
|
|
155
|
+
|
|
156
|
+
**防护措施**
|
|
157
|
+
- 仅适用于轻量级流程
|
|
158
|
+
- 如果需求信息不明确,必须询问用户
|
|
159
|
+
- 提案必须包含Why、What、Impact三个核心部分
|
|
160
|
+
- 风险评估不能省略
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# 棕地需求 - Quick SOP
|
|
2
|
+
|
|
3
|
+
P2 需求快速通道 - 适用于简单修复和小改动。
|
|
4
|
+
|
|
5
|
+
**输入**:`/6aspec:brown:quick` 后的参数是需求名称(kebab-case)或需求描述。
|
|
6
|
+
|
|
7
|
+
**适用场景**:
|
|
8
|
+
- Bug 修复
|
|
9
|
+
- 文案调整
|
|
10
|
+
- 简单重构
|
|
11
|
+
- 单文件修改
|
|
12
|
+
- 无架构影响的小改动
|
|
13
|
+
|
|
14
|
+
**步骤**
|
|
15
|
+
|
|
16
|
+
1. **如果没有提供输入,询问需求内容**
|
|
17
|
+
|
|
18
|
+
询问用户:
|
|
19
|
+
> "你想快速处理什么需求?请描述要修复的问题或要做的改动。"
|
|
20
|
+
|
|
21
|
+
从描述中提取 kebab-case 名称。
|
|
22
|
+
|
|
23
|
+
2. **创建简化的需求目录**
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
mkdir -p "6aspecdoc/brown/<name>"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
创建状态文件 `6aspecdoc/brown/<name>/status.json`:
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"name": "<name>",
|
|
33
|
+
"priority": "P2",
|
|
34
|
+
"status": "quick_track",
|
|
35
|
+
"createdAt": "<timestamp>",
|
|
36
|
+
"lastModified": "<timestamp>",
|
|
37
|
+
"quickTrack": true
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
创建需求描述文件 `6aspecdoc/brown/<name>/requirement.md`:
|
|
42
|
+
```markdown
|
|
43
|
+
# <需求标题>
|
|
44
|
+
|
|
45
|
+
> **需求ID**: <name>
|
|
46
|
+
> **优先级**: P2(快速通道)
|
|
47
|
+
> **状态**: 🚀 快速处理中
|
|
48
|
+
> **创建时间**: <timestamp>
|
|
49
|
+
|
|
50
|
+
## 需求描述
|
|
51
|
+
|
|
52
|
+
<用户提供的需求描述>
|
|
53
|
+
|
|
54
|
+
## 快速分析
|
|
55
|
+
|
|
56
|
+
### 影响范围
|
|
57
|
+
- 影响文件:<列出>
|
|
58
|
+
- 影响类型:Bug修复 / 文案调整 / 简单重构
|
|
59
|
+
|
|
60
|
+
### 实现方案
|
|
61
|
+
<简要说明实现方案>
|
|
62
|
+
|
|
63
|
+
### 验收标准
|
|
64
|
+
- [ ] <标准1>
|
|
65
|
+
- [ ] <标准2>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
3. **快速分析**
|
|
69
|
+
|
|
70
|
+
执行简化的分析:
|
|
71
|
+
- 找到需要修改的文件
|
|
72
|
+
- 理解当前代码逻辑
|
|
73
|
+
- 确定修改方案
|
|
74
|
+
|
|
75
|
+
4. **直接实现**
|
|
76
|
+
|
|
77
|
+
- 执行代码修改
|
|
78
|
+
- 保持变更最小化
|
|
79
|
+
- 确保不引入新问题
|
|
80
|
+
|
|
81
|
+
5. **快速验证**
|
|
82
|
+
|
|
83
|
+
- 检查代码语法
|
|
84
|
+
- 运行相关测试(如有)
|
|
85
|
+
- 确认修改符合需求
|
|
86
|
+
|
|
87
|
+
6. **更新状态**
|
|
88
|
+
|
|
89
|
+
更新 `6aspecdoc/brown/<name>/status.json`:
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"status": "completed",
|
|
93
|
+
"completedAt": "<timestamp>",
|
|
94
|
+
"quickTrack": true
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
在 `requirement.md` 中更新验收标准为已完成。
|
|
99
|
+
|
|
100
|
+
**输出**
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
## 快速处理完成:<name>
|
|
104
|
+
|
|
105
|
+
**优先级**: P2(快速通道)
|
|
106
|
+
**处理时间**: <时间戳>
|
|
107
|
+
|
|
108
|
+
### 修改内容
|
|
109
|
+
- 修改文件:<文件列表>
|
|
110
|
+
- 修改类型:<类型>
|
|
111
|
+
|
|
112
|
+
### 验收标准
|
|
113
|
+
- [x] <标准1>
|
|
114
|
+
- [x] <标准2>
|
|
115
|
+
|
|
116
|
+
### 下一步
|
|
117
|
+
- 提交代码:使用 git 提交修改
|
|
118
|
+
- 或归档:运行 `/6aspec:brown:archive` 归档此需求
|
|
119
|
+
|
|
120
|
+
### 注意
|
|
121
|
+
P2 需求使用快速通道,跳过了详细的分析和设计阶段。
|
|
122
|
+
如果发现需求比预期复杂,建议使用完整流程(/6aspec:brown:new)。
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**防护措施**
|
|
126
|
+
- 如果需求比预期复杂,警告用户并建议使用完整流程
|
|
127
|
+
- 保持修改最小化
|
|
128
|
+
- 不要跳过必要的验证
|
|
129
|
+
- 如果不确定影响范围,建议使用完整流程
|
|
130
|
+
- 快速通道不适用于:
|
|
131
|
+
- 多表联动
|
|
132
|
+
- 复杂业务逻辑
|
|
133
|
+
- 架构变更
|
|
134
|
+
- 新功能开发
|