6aspec 2.0.0-dev.10
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 +293 -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 +228 -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 +208 -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 +64 -0
- package/lib/cli.js +451 -0
- package/lib/installer.js +333 -0
- package/package.json +62 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# 棕地需求 - Archive SOP
|
|
2
|
+
|
|
3
|
+
归档已完成的需求。
|
|
4
|
+
|
|
5
|
+
**输入**:`/6aspec:brown:archive` 后可选需求名称。
|
|
6
|
+
|
|
7
|
+
**步骤**
|
|
8
|
+
|
|
9
|
+
1. **选择需求并检查状态**
|
|
10
|
+
|
|
11
|
+
- 读取 `6aspecdoc/brown/<name>/status.json`
|
|
12
|
+
- 确认 `phases.review` 为 "done"
|
|
13
|
+
- 如果未完成 Phase 7,询问是否强制归档
|
|
14
|
+
|
|
15
|
+
2. **确认归档**
|
|
16
|
+
|
|
17
|
+
询问用户确认:
|
|
18
|
+
```
|
|
19
|
+
问题:"确认归档需求 <name>?归档后需求将移至归档目录。"
|
|
20
|
+
选项:
|
|
21
|
+
- 是,归档此需求
|
|
22
|
+
- 否,取消归档
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
3. **执行归档操作**
|
|
26
|
+
|
|
27
|
+
a. **创建归档目录**
|
|
28
|
+
```bash
|
|
29
|
+
mkdir -p 6aspecdoc/brown/.archived/<timestamp>-<name>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
b. **移动需求目录**
|
|
33
|
+
```bash
|
|
34
|
+
mv 6aspecdoc/brown/<name> 6aspecdoc/brown/.archived/<timestamp>-<name>/
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
c. **更新归档状态**
|
|
38
|
+
在归档目录中创建 `archive-info.json`:
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"name": "<name>",
|
|
42
|
+
"archivedAt": "<timestamp>",
|
|
43
|
+
"archivedBy": "6aspec:brown",
|
|
44
|
+
"originalPath": "6aspecdoc/brown/<name>",
|
|
45
|
+
"archivePath": "6aspecdoc/brown/.archived/<timestamp>-<name>",
|
|
46
|
+
"completedPhases": 7,
|
|
47
|
+
"totalTasks": 8,
|
|
48
|
+
"priority": "P0/P1/P2"
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
4. **生成归档摘要**
|
|
53
|
+
|
|
54
|
+
创建 `6aspecdoc/brown/.archived/<timestamp>-<name>/ARCHIVE-SUMMARY.md`:
|
|
55
|
+
```markdown
|
|
56
|
+
# 归档摘要:<name>
|
|
57
|
+
|
|
58
|
+
> **归档时间**: <timestamp>
|
|
59
|
+
> **优先级**: P0/P1/P2
|
|
60
|
+
> **完成阶段**: 7/7
|
|
61
|
+
> **总任务数**: 8
|
|
62
|
+
> **总工时**: <工时>
|
|
63
|
+
|
|
64
|
+
## 需求概述
|
|
65
|
+
|
|
66
|
+
<从 requirement.md 提取>
|
|
67
|
+
|
|
68
|
+
## 关键成果
|
|
69
|
+
|
|
70
|
+
- 数据库变更:<数量> 个表
|
|
71
|
+
- 代码变更:<数量> 个类
|
|
72
|
+
- 前端变更:<数量> 个页面
|
|
73
|
+
- 测试用例:<数量> 个
|
|
74
|
+
|
|
75
|
+
## 关键文档
|
|
76
|
+
|
|
77
|
+
- 01-understanding.md - 需求理解与现状分析
|
|
78
|
+
- 02-impact-analysis.md - 影响面分析
|
|
79
|
+
- 03-technical-design.md - 技术方案设计
|
|
80
|
+
- 04-tasks-overview.md - 任务拆解
|
|
81
|
+
- 05-verification-report.md - 验证报告
|
|
82
|
+
- 06-post-implementation-review.md - 实施后评估
|
|
83
|
+
- ADR-<name>.md - 架构决策记录(P0)
|
|
84
|
+
|
|
85
|
+
## 经验教训
|
|
86
|
+
|
|
87
|
+
<从 06-post-implementation-review.md 提取>
|
|
88
|
+
|
|
89
|
+
## 可复用方案
|
|
90
|
+
|
|
91
|
+
<从 06-post-implementation-review.md 提取>
|
|
92
|
+
|
|
93
|
+
## 归档位置
|
|
94
|
+
|
|
95
|
+
6aspecdoc/brown/.archived/<timestamp>-<name>/
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**输出**
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
## 需求已归档:<name>
|
|
102
|
+
|
|
103
|
+
**归档时间**: <timestamp>
|
|
104
|
+
**归档位置**: 6aspecdoc/brown/.archived/<timestamp>-<name>/
|
|
105
|
+
|
|
106
|
+
### 需求统计
|
|
107
|
+
- 优先级:P0/P1/P2
|
|
108
|
+
- 完成阶段:7/7
|
|
109
|
+
- 总任务数:8
|
|
110
|
+
- 总工时:<工时>
|
|
111
|
+
|
|
112
|
+
### 关键成果
|
|
113
|
+
<列出关键成果>
|
|
114
|
+
|
|
115
|
+
### 归档文件
|
|
116
|
+
所有需求文档已移至归档目录,包括:
|
|
117
|
+
- 分析文档(Phase 1-4)
|
|
118
|
+
- 验证报告(Phase 6)
|
|
119
|
+
- 实施后评估(Phase 7)
|
|
120
|
+
- 任务详情
|
|
121
|
+
- 归档摘要
|
|
122
|
+
|
|
123
|
+
### 查看归档
|
|
124
|
+
可以随时查看归档的需求文档:
|
|
125
|
+
6aspecdoc/brown/.archived/<timestamp>-<name>/
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**防护措施**
|
|
129
|
+
- 如果未完成所有阶段,警告用户并询问是否强制归档
|
|
130
|
+
- 归档前必须确认
|
|
131
|
+
- 归档操作不可逆(除非手动恢复)
|
|
132
|
+
- 保留完整的归档信息和摘要
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# 棕地需求工作流总纲(Brown Field Constitution)
|
|
2
|
+
|
|
3
|
+
本文件定义适用于**所有阶段**的全局规则,当与具体 SOP 冲突时以本文件为准。各阶段的具体流程、产出模板、防护措施见对应的 SOP 文件。
|
|
4
|
+
|
|
5
|
+
## 语言要求
|
|
6
|
+
|
|
7
|
+
**所有生成的文档内容必须使用中文**,包括标题、字段名、描述等所有文本内容。
|
|
8
|
+
|
|
9
|
+
## 核心行为规则
|
|
10
|
+
|
|
11
|
+
1. **阶段化推进**:每个阶段完成后必须停止,等待用户通过显式命令推进
|
|
12
|
+
2. **阶段切换纪律**(最重要的规则):
|
|
13
|
+
- **只有显式命令才能触发阶段切换**:必须通过 `/6aspec:brown:continue` 或具体的阶段命令(如 `/6aspec:brown:specs`)才能进入下一阶段
|
|
14
|
+
- **用户的普通回复不是阶段切换信号**:回答问题、补充信息、讨论 — 这些都属于当前阶段的交互
|
|
15
|
+
- **收到用户补充信息时的正确行为**:更新当前阶段文档 → 展示变更摘要 → 再次提示可继续补充或用命令推进
|
|
16
|
+
3. **前置检查**:每个阶段开始前必须检查前置阶段是否完成
|
|
17
|
+
4. **状态一致性**:每个阶段完成后必须更新 status.json
|
|
18
|
+
5. **不猜测**:信息不明确时必须询问用户,不要假设
|
|
19
|
+
6. **Mermaid 图表**:避免使用双引号和 emoji
|
|
20
|
+
7. **需求命名**:使用 kebab-case 格式(例如:`add-user-auth`)
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# 棕地需求 - Continue SOP
|
|
2
|
+
|
|
3
|
+
继续当前需求的下一个阶段。
|
|
4
|
+
|
|
5
|
+
**输入**:`/6aspec:brown:continue` 后可选需求名称。
|
|
6
|
+
|
|
7
|
+
**步骤**
|
|
8
|
+
|
|
9
|
+
1. **选择需求**
|
|
10
|
+
|
|
11
|
+
如果提供了名称,使用它。否则:
|
|
12
|
+
- 从对话上下文推断
|
|
13
|
+
- 如果模糊,读取 `6aspecdoc/brown/` 目录,让用户选择
|
|
14
|
+
|
|
15
|
+
显示最近修改的 3-4 个需求作为选项,标注最近修改的为 "(推荐)"。
|
|
16
|
+
|
|
17
|
+
2. **检查当前状态**
|
|
18
|
+
|
|
19
|
+
读取 `6aspecdoc/brown/<name>/status.json`,解析:
|
|
20
|
+
- `flowDepth`: 流程深度(lightweight/standard/complete/quick)
|
|
21
|
+
- `status`: 当前状态
|
|
22
|
+
- `phases`: 各阶段状态
|
|
23
|
+
|
|
24
|
+
3. **根据流程深度和状态执行相应操作**
|
|
25
|
+
|
|
26
|
+
**如果是快速通道(flowDepth: "quick")**:
|
|
27
|
+
- 提示使用 `/6aspec:brown:quick` 命令
|
|
28
|
+
- 停止
|
|
29
|
+
|
|
30
|
+
**如果所有阶段都完成 (`phases` 全部为 "done")**:
|
|
31
|
+
- 祝贺用户
|
|
32
|
+
- 显示最终状态
|
|
33
|
+
- 建议:"所有阶段已完成!可以运行 `/6aspec:brown:implement` 开始实施,或运行 `/6aspec:brown:archive` 归档。"
|
|
34
|
+
- 停止
|
|
35
|
+
|
|
36
|
+
**如果有待执行的阶段**:
|
|
37
|
+
- 找到第一个状态为 "pending" 的阶段
|
|
38
|
+
- 根据流程深度和阶段名称调用相应命令:
|
|
39
|
+
|
|
40
|
+
**轻量级流程(lightweight)**:
|
|
41
|
+
- `proposal` → 调用 `/6aspec:brown:proposal`
|
|
42
|
+
- `design` → 调用 `/6aspec:brown:design`
|
|
43
|
+
- `tasks` → 调用 `/6aspec:brown:tasks`
|
|
44
|
+
- `implement` → 调用 `/6aspec:brown:implement`
|
|
45
|
+
|
|
46
|
+
**标准级流程(standard)**:
|
|
47
|
+
- `understand` → 调用 `/6aspec:brown:understand`
|
|
48
|
+
- `specs` → 调用 `/6aspec:brown:specs`
|
|
49
|
+
- `impact` → 调用 `/6aspec:brown:impact`
|
|
50
|
+
- `design` → 调用 `/6aspec:brown:design`
|
|
51
|
+
- `tasks` → 调用 `/6aspec:brown:tasks`
|
|
52
|
+
- `implement` → 调用 `/6aspec:brown:implement`
|
|
53
|
+
|
|
54
|
+
**完整级流程(complete)**:
|
|
55
|
+
- `understand` → 调用 `/6aspec:brown:understand`
|
|
56
|
+
- `specs` → 调用 `/6aspec:brown:specs`
|
|
57
|
+
- `impact` → 调用 `/6aspec:brown:impact`
|
|
58
|
+
- `design` → 调用 `/6aspec:brown:design`
|
|
59
|
+
- `tasks` → 调用 `/6aspec:brown:tasks`
|
|
60
|
+
- `implement` → 调用 `/6aspec:brown:implement`
|
|
61
|
+
- `verify` → 调用 `/6aspec:brown:verify`
|
|
62
|
+
- `review` → 调用 `/6aspec:brown:review`
|
|
63
|
+
|
|
64
|
+
**如果所有阶段都被阻塞**:
|
|
65
|
+
- 这不应该发生
|
|
66
|
+
- 显示状态并建议检查问题
|
|
67
|
+
|
|
68
|
+
4. **执行下一阶段后显示进度**
|
|
69
|
+
|
|
70
|
+
显示:
|
|
71
|
+
- 刚完成的阶段
|
|
72
|
+
- 流程深度
|
|
73
|
+
- 当前进度(N/M 完成)
|
|
74
|
+
- 下一个待执行的阶段
|
|
75
|
+
- 提示:"运行 `/6aspec:brown:continue` 继续下一阶段"
|
|
76
|
+
|
|
77
|
+
**输出**
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
## 继续需求:<name>
|
|
81
|
+
|
|
82
|
+
**流程深度**: 轻量级/标准级/完整级
|
|
83
|
+
**当前进度**: N/M 阶段完成
|
|
84
|
+
|
|
85
|
+
### 下一阶段
|
|
86
|
+
<阶段名称>
|
|
87
|
+
|
|
88
|
+
<执行该阶段的命令>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**防护措施**
|
|
92
|
+
- 每次只执行一个阶段
|
|
93
|
+
- 必须按顺序执行阶段
|
|
94
|
+
- 不能跳过阶段
|
|
95
|
+
- 如果需求不存在,提示创建新需求
|
|
96
|
+
- 快速通道提示使用 `/6aspec:brown:quick`
|
|
97
|
+
- 必须根据 flowDepth 确定正确的阶段顺序
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# 棕地需求 - Design SOP
|
|
2
|
+
|
|
3
|
+
Phase 3: 技术方案设计
|
|
4
|
+
|
|
5
|
+
**输入**:`/6aspec:brown:design` 后可选需求名称。
|
|
6
|
+
|
|
7
|
+
**步骤**
|
|
8
|
+
|
|
9
|
+
1. **选择需求并检查状态**
|
|
10
|
+
|
|
11
|
+
- 读取 `6aspecdoc/brown/<name>/status.json`
|
|
12
|
+
- 确认 `phases.impact` 为 "done"
|
|
13
|
+
- 如果未完成 Phase 2,提示先运行 `/6aspec:brown:impact`
|
|
14
|
+
|
|
15
|
+
2. **读取前置文档**
|
|
16
|
+
|
|
17
|
+
- `6aspecdoc/brown/<name>/requirement.md`
|
|
18
|
+
- `6aspecdoc/brown/<name>/artifacts/01-understanding.md`
|
|
19
|
+
- `6aspecdoc/brown/<name>/artifacts/01.5-specs.md`(标准级/完整级)
|
|
20
|
+
- `6aspecdoc/brown/<name>/artifacts/02-impact-analysis.md`
|
|
21
|
+
|
|
22
|
+
3. **设计数据库变更方案**
|
|
23
|
+
|
|
24
|
+
- 字段名、类型、约束
|
|
25
|
+
- 默认值和历史数据处理
|
|
26
|
+
- 索引建议
|
|
27
|
+
- 数据迁移脚本(如需要)
|
|
28
|
+
|
|
29
|
+
4. **设计代码实现方案**
|
|
30
|
+
|
|
31
|
+
- 实体类字段添加(含注解)
|
|
32
|
+
- 业务逻辑实现(含关键代码示例)
|
|
33
|
+
- 校验逻辑(必填、值域、约束)
|
|
34
|
+
- 错误提示(使用多语言资源)
|
|
35
|
+
|
|
36
|
+
5. **设计前端 UI 方案**
|
|
37
|
+
|
|
38
|
+
- 各页面字段状态(可编辑/只读/隐藏)
|
|
39
|
+
- 交互逻辑(下拉选择、提示信息)
|
|
40
|
+
- 错误提示
|
|
41
|
+
- 多语言支持
|
|
42
|
+
|
|
43
|
+
6. **设计测试方案**
|
|
44
|
+
|
|
45
|
+
- 单元测试(函数级别)
|
|
46
|
+
- 集成测试(流程级别)
|
|
47
|
+
- 数据一致性验证(SQL 验证)
|
|
48
|
+
|
|
49
|
+
7. **架构决策记录(P0 需求必须)**
|
|
50
|
+
|
|
51
|
+
如果是 P0 级需求,创建 ADR:
|
|
52
|
+
|
|
53
|
+
创建 `6aspecdoc/brown/<name>/artifacts/ADR-<name>.md`:
|
|
54
|
+
```markdown
|
|
55
|
+
# ADR: <决策标题>
|
|
56
|
+
|
|
57
|
+
**状态**: 提议中 / 已接受
|
|
58
|
+
**日期**: <timestamp>
|
|
59
|
+
**需求**: <name>
|
|
60
|
+
|
|
61
|
+
## 背景
|
|
62
|
+
<为什么需要做这个决策>
|
|
63
|
+
|
|
64
|
+
## 决策
|
|
65
|
+
<我们决定采用什么方案>
|
|
66
|
+
|
|
67
|
+
## 备选方案
|
|
68
|
+
|
|
69
|
+
| 方案 | 优点 | 缺点 | 为何不选 |
|
|
70
|
+
|------|------|------|----------|
|
|
71
|
+
| 方案A | ... | ... | ... |
|
|
72
|
+
| 方案B | ... | ... | ... |
|
|
73
|
+
|
|
74
|
+
## 后果
|
|
75
|
+
|
|
76
|
+
- 正面影响:...
|
|
77
|
+
- 负面影响:...
|
|
78
|
+
- 技术债务:...
|
|
79
|
+
- 风险:...
|
|
80
|
+
|
|
81
|
+
## 验证方式
|
|
82
|
+
<如何验证这个决策是正确的>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
8. **技术债务识别**
|
|
86
|
+
|
|
87
|
+
识别实现过程中可能引入的技术债务:
|
|
88
|
+
|
|
89
|
+
| 债务ID | 描述 | 类型 | 影响 | 偿还成本 | 优先级 |
|
|
90
|
+
|--------|------|------|------|----------|--------|
|
|
91
|
+
| DEBT-001 | 临时的硬编码逻辑 | 代码质量 | 中 | 2人日 | P1 |
|
|
92
|
+
|
|
93
|
+
9. **创建技术方案文档**
|
|
94
|
+
|
|
95
|
+
创建 `6aspecdoc/brown/<name>/artifacts/03-technical-design.md`
|
|
96
|
+
|
|
97
|
+
10. **更新状态**
|
|
98
|
+
|
|
99
|
+
更新 `6aspecdoc/brown/<name>/status.json`:
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"status": "tasks_pending",
|
|
103
|
+
"phases": {
|
|
104
|
+
"understand": "done",
|
|
105
|
+
"impact": "done",
|
|
106
|
+
"design": "done",
|
|
107
|
+
"tasks": "pending",
|
|
108
|
+
...
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**输出**
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
## Phase 3 完成:技术方案设计
|
|
117
|
+
|
|
118
|
+
**需求**: <name>
|
|
119
|
+
**进度**: 4/5 阶段完成(标准级)或 4/6 阶段完成(完整级)
|
|
120
|
+
|
|
121
|
+
### 方案概要
|
|
122
|
+
- 数据库变更:<数量> 个表
|
|
123
|
+
- 代码变更:<数量> 个类
|
|
124
|
+
- 前端变更:<数量> 个页面
|
|
125
|
+
- 测试用例:<数量> 个
|
|
126
|
+
|
|
127
|
+
### 关键设计决策
|
|
128
|
+
<列出 2-3 个关键决策>
|
|
129
|
+
|
|
130
|
+
### 技术债务
|
|
131
|
+
<列出识别的技术债务>
|
|
132
|
+
|
|
133
|
+
### 文档位置
|
|
134
|
+
- 6aspecdoc/brown/<name>/artifacts/03-technical-design.md
|
|
135
|
+
- 6aspecdoc/brown/<name>/artifacts/ADR-<name>.md (P0)
|
|
136
|
+
|
|
137
|
+
### 下一步
|
|
138
|
+
- 直接回复修正设计方案或补充细节 → 我会更新本阶段文档(03-technical-design.md)
|
|
139
|
+
- 运行 `/6aspec:brown:tasks` → 进入任务拆解阶段
|
|
140
|
+
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**用户补充信息时的处理**
|
|
144
|
+
|
|
145
|
+
当用户修正设计方案、补充技术细节、或对设计决策提出异议时(未使用阶段命令):
|
|
146
|
+
1. 将用户的修正/补充整合到 `03-technical-design.md` 的对应章节
|
|
147
|
+
2. 展示变更摘要
|
|
148
|
+
3. 再次提示:可以继续补充,或通过命令进入下一阶段
|
|
149
|
+
4. **禁止**:不得自动进入下一阶段
|
|
150
|
+
|
|
151
|
+
**防护措施**
|
|
152
|
+
- 必须先完成 Phase 2
|
|
153
|
+
- P0 需求必须创建 ADR
|
|
154
|
+
- 代码示例必须完整可用
|
|
155
|
+
- 技术债务必须明确标注
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# 棕地需求 - Fast Forward SOP
|
|
2
|
+
|
|
3
|
+
快速完成分析阶段,一次性生成所有分析文档。
|
|
4
|
+
|
|
5
|
+
**输入**:`/6aspec:brown:ff` 后的参数是需求名称(kebab-case)或需求描述。
|
|
6
|
+
|
|
7
|
+
**步骤**
|
|
8
|
+
|
|
9
|
+
1. **如果没有提供输入,询问需求内容**
|
|
10
|
+
|
|
11
|
+
询问用户:
|
|
12
|
+
> "你想分析什么需求?请描述要实现的功能或要解决的问题。"
|
|
13
|
+
|
|
14
|
+
从描述中提取 kebab-case 名称。
|
|
15
|
+
|
|
16
|
+
2. **创建或读取需求**
|
|
17
|
+
|
|
18
|
+
如果需求不存在,先执行 `/6aspec:brown:new` 的逻辑:
|
|
19
|
+
- 选择流程深度
|
|
20
|
+
- 创建目录结构
|
|
21
|
+
- 创建状态文件
|
|
22
|
+
|
|
23
|
+
如果需求已存在,读取 `status.json` 获取 `flowDepth`。
|
|
24
|
+
|
|
25
|
+
3. **根据流程深度确定要执行的阶段**
|
|
26
|
+
|
|
27
|
+
**轻量级(lightweight)**:
|
|
28
|
+
- proposal → design → tasks
|
|
29
|
+
|
|
30
|
+
**标准级(standard)**:
|
|
31
|
+
- understand → specs → impact → design → tasks
|
|
32
|
+
|
|
33
|
+
**完整级(complete)**:
|
|
34
|
+
- understand → specs → impact → design → tasks → verify → review
|
|
35
|
+
|
|
36
|
+
**快速通道(quick)**:
|
|
37
|
+
- 提示使用 `/6aspec:brown:quick` 命令
|
|
38
|
+
- 停止
|
|
39
|
+
|
|
40
|
+
4. **使用 TodoWrite 工具跟踪进度**
|
|
41
|
+
|
|
42
|
+
根据流程深度创建待办事项。
|
|
43
|
+
|
|
44
|
+
5. **按顺序执行所有阶段**
|
|
45
|
+
|
|
46
|
+
循环执行阶段,直到所有分析阶段完成:
|
|
47
|
+
|
|
48
|
+
**轻量级流程**:
|
|
49
|
+
|
|
50
|
+
a. **Proposal**
|
|
51
|
+
- 执行 `/6aspec:brown:proposal` 的逻辑
|
|
52
|
+
- 显示简要进度:"✓ Proposal 完成"
|
|
53
|
+
- 更新待办事项
|
|
54
|
+
|
|
55
|
+
b. **Design**
|
|
56
|
+
- 执行 `/6aspec:brown:design` 的逻辑
|
|
57
|
+
- 显示简要进度:"✓ Design 完成"
|
|
58
|
+
- 更新待办事项
|
|
59
|
+
|
|
60
|
+
c. **Tasks**
|
|
61
|
+
- 执行 `/6aspec:brown:tasks` 的逻辑
|
|
62
|
+
- 显示简要进度:"✓ Tasks 完成"
|
|
63
|
+
- 更新待办事项
|
|
64
|
+
|
|
65
|
+
**标准级/完整级流程**:
|
|
66
|
+
|
|
67
|
+
a. **Understand**
|
|
68
|
+
- 执行 `/6aspec:brown:understand` 的逻辑
|
|
69
|
+
- 显示简要进度:"✓ Understand 完成"
|
|
70
|
+
- 更新待办事项
|
|
71
|
+
|
|
72
|
+
b. **Specs**
|
|
73
|
+
- 如果需要用户输入(待明确问题),询问用户
|
|
74
|
+
- 执行 `/6aspec:brown:specs` 的逻辑
|
|
75
|
+
- 显示简要进度:"✓ Specs 完成"
|
|
76
|
+
- 更新待办事项
|
|
77
|
+
|
|
78
|
+
c. **Impact**
|
|
79
|
+
- 执行 `/6aspec:brown:impact` 的逻辑
|
|
80
|
+
- 显示简要进度:"✓ Impact 完成"
|
|
81
|
+
- 更新待办事项
|
|
82
|
+
|
|
83
|
+
d. **Design**
|
|
84
|
+
- 执行 `/6aspec:brown:design` 的逻辑
|
|
85
|
+
- 显示简要进度:"✓ Design 完成"
|
|
86
|
+
- 更新待办事项
|
|
87
|
+
|
|
88
|
+
e. **Tasks**
|
|
89
|
+
- 执行 `/6aspec:brown:tasks` 的逻辑
|
|
90
|
+
- 显示简要进度:"✓ Tasks 完成"
|
|
91
|
+
- 更新待办事项
|
|
92
|
+
|
|
93
|
+
**完整级流程额外阶段**(如果 flowDepth 为 complete):
|
|
94
|
+
|
|
95
|
+
e. **Verify**(可选,在实施后执行)
|
|
96
|
+
- 提示:"Verify 阶段需要在实施后执行"
|
|
97
|
+
|
|
98
|
+
f. **Review**(可选,在上线后执行)
|
|
99
|
+
- 提示:"Review 阶段需要在上线后执行"
|
|
100
|
+
|
|
101
|
+
6. **显示最终状态**
|
|
102
|
+
|
|
103
|
+
读取 `6aspecdoc/brown/<name>/status.json` 显示完整状态。
|
|
104
|
+
|
|
105
|
+
**输出**
|
|
106
|
+
|
|
107
|
+
完成所有阶段后,总结:
|
|
108
|
+
|
|
109
|
+
**轻量级流程**:
|
|
110
|
+
```
|
|
111
|
+
## 快速分析完成:<name>
|
|
112
|
+
|
|
113
|
+
**流程深度**: 轻量级
|
|
114
|
+
**进度**: 3/4 阶段完成(分析阶段全部完成)
|
|
115
|
+
|
|
116
|
+
### 生成的文档
|
|
117
|
+
- ✓ proposal.md - 需求提案
|
|
118
|
+
- ✓ design.md - 技术方案设计
|
|
119
|
+
- ✓ tasks.md - 任务拆解
|
|
120
|
+
|
|
121
|
+
### 任务统计
|
|
122
|
+
- 总任务数:<数量>
|
|
123
|
+
- 预估总工时:<工时>
|
|
124
|
+
|
|
125
|
+
### 下一步
|
|
126
|
+
所有分析阶段已完成!可以:
|
|
127
|
+
- 运行 `/6aspec:brown:implement` 开始执行任务
|
|
128
|
+
- 查看详细文档:6aspecdoc/brown/<name>/artifacts/
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**标准级流程**:
|
|
132
|
+
```
|
|
133
|
+
## 快速分析完成:<name>
|
|
134
|
+
|
|
135
|
+
**流程深度**: 标准级
|
|
136
|
+
**进度**: 5/6 阶段完成(分析阶段全部完成)
|
|
137
|
+
|
|
138
|
+
### 生成的文档
|
|
139
|
+
- ✓ understanding.md - 需求理解与现状分析
|
|
140
|
+
- ✓ specs.md - 需求规格定义
|
|
141
|
+
- ✓ impact-analysis.md - 影响面分析
|
|
142
|
+
- ✓ design.md - 技术方案设计
|
|
143
|
+
- ✓ tasks.md - 任务拆解
|
|
144
|
+
|
|
145
|
+
### 任务统计
|
|
146
|
+
- 总任务数:<数量>
|
|
147
|
+
- 预估总工时:<工时>
|
|
148
|
+
|
|
149
|
+
### 关键发现
|
|
150
|
+
<列出 2-3 个关键发现>
|
|
151
|
+
|
|
152
|
+
### 下一步
|
|
153
|
+
所有分析阶段已完成!可以:
|
|
154
|
+
- 运行 `/6aspec:brown:implement` 开始执行任务
|
|
155
|
+
- 查看详细文档:6aspecdoc/brown/<name>/artifacts/
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**完整级流程**:
|
|
159
|
+
```
|
|
160
|
+
## 快速分析完成:<name>
|
|
161
|
+
|
|
162
|
+
**流程深度**: 完整级
|
|
163
|
+
**进度**: 5/7 阶段完成(分析阶段全部完成)
|
|
164
|
+
|
|
165
|
+
### 生成的文档
|
|
166
|
+
- ✓ understanding.md - 需求理解与现状分析
|
|
167
|
+
- ✓ specs.md - 需求规格定义
|
|
168
|
+
- ✓ impact-analysis.md - 影响面分析
|
|
169
|
+
- ✓ design.md - 技术方案设计
|
|
170
|
+
- ✓ tasks.md - 任务拆解
|
|
171
|
+
|
|
172
|
+
### 任务统计
|
|
173
|
+
- 总任务数:<数量>
|
|
174
|
+
- 预估总工时:<工时>
|
|
175
|
+
|
|
176
|
+
### 关键发现
|
|
177
|
+
<列出 2-3 个关键发现>
|
|
178
|
+
|
|
179
|
+
### 下一步
|
|
180
|
+
所有分析阶段已完成!可以:
|
|
181
|
+
- 运行 `/6aspec:brown:implement` 开始执行任务
|
|
182
|
+
- 实施后运行 `/6aspec:brown:verify` 进行验证
|
|
183
|
+
- 上线后运行 `/6aspec:brown:review` 进行评估
|
|
184
|
+
- 查看详细文档:6aspecdoc/brown/<name>/artifacts/
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**防护措施**
|
|
188
|
+
- 如果关键信息不明确,必须询问用户,不能猜测
|
|
189
|
+
- 保持前进动力,但在关键决策点询问用户
|
|
190
|
+
- 如果需求已存在且部分阶段已完成,从未完成的阶段继续
|
|
191
|
+
- 验证每个阶段的文档已创建后再继续下一阶段
|
|
192
|
+
- 快速通道提示使用 `/6aspec:brown:quick` 而不是完整流程
|
|
193
|
+
- 必须根据 flowDepth 执行正确的阶段序列
|
|
194
|
+
- 完整级流程的 verify 和 review 阶段在实施后执行,不在 ff 中执行
|