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,135 @@
|
|
|
1
|
+
# 棕地需求 - Status SOP
|
|
2
|
+
|
|
3
|
+
查看需求的当前状态和进度。
|
|
4
|
+
|
|
5
|
+
**输入**:`/6aspec:brown:status` 后可选需求名称。如果省略,显示所有需求的状态。
|
|
6
|
+
|
|
7
|
+
**步骤**
|
|
8
|
+
|
|
9
|
+
1. **确定查询范围**
|
|
10
|
+
|
|
11
|
+
如果提供了需求名称:
|
|
12
|
+
- 显示该需求的详细状态
|
|
13
|
+
|
|
14
|
+
如果没有提供:
|
|
15
|
+
- 显示所有需求的概览
|
|
16
|
+
|
|
17
|
+
2. **读取状态文件**
|
|
18
|
+
|
|
19
|
+
读取 `6aspecdoc/brown/<name>/status.json` 或所有需求的状态文件。
|
|
20
|
+
|
|
21
|
+
3. **显示状态信息**
|
|
22
|
+
|
|
23
|
+
**单个需求详细状态**:
|
|
24
|
+
```
|
|
25
|
+
## 需求状态:<name>
|
|
26
|
+
|
|
27
|
+
**流程深度**: 轻量级/标准级/完整级/快速通道
|
|
28
|
+
**当前状态**: <状态描述>
|
|
29
|
+
**创建时间**: <timestamp>
|
|
30
|
+
**最后修改**: <timestamp>
|
|
31
|
+
|
|
32
|
+
### 阶段进度
|
|
33
|
+
|
|
34
|
+
**轻量级流程(4阶段)**:
|
|
35
|
+
| 阶段 | 状态 | 完成时间 |
|
|
36
|
+
|------|------|----------|
|
|
37
|
+
| Proposal | ✅ 已完成 / 🔄 进行中 / 📋 待开始 / 🔒 阻塞 | <timestamp> |
|
|
38
|
+
| Design | ... | ... |
|
|
39
|
+
| Tasks | ... | ... |
|
|
40
|
+
| Implement | ... | ... |
|
|
41
|
+
|
|
42
|
+
**标准级流程(5阶段)**:
|
|
43
|
+
| 阶段 | 状态 | 完成时间 |
|
|
44
|
+
|------|------|----------|
|
|
45
|
+
| Understand | ✅ 已完成 / 🔄 进行中 / 📋 待开始 / 🔒 阻塞 | <timestamp> |
|
|
46
|
+
| Impact | ... | ... |
|
|
47
|
+
| Design | ... | ... |
|
|
48
|
+
| Tasks | ... | ... |
|
|
49
|
+
| Implement | ... | ... |
|
|
50
|
+
|
|
51
|
+
**完整级流程(7阶段)**:
|
|
52
|
+
| 阶段 | 状态 | 完成时间 |
|
|
53
|
+
|------|------|----------|
|
|
54
|
+
| Understand | ✅ 已完成 / 🔄 进行中 / 📋 待开始 / 🔒 阻塞 | <timestamp> |
|
|
55
|
+
| Impact | ... | ... |
|
|
56
|
+
| Design | ... | ... |
|
|
57
|
+
| Tasks | ... | ... |
|
|
58
|
+
| Implement | ... | ... |
|
|
59
|
+
| Verify | ... | ... |
|
|
60
|
+
| Review | ... | ... |
|
|
61
|
+
|
|
62
|
+
### 任务进度(如果已拆解)
|
|
63
|
+
|
|
64
|
+
- 总任务数:<数量>
|
|
65
|
+
- 已完成:<数量>
|
|
66
|
+
- 进行中:<数量>
|
|
67
|
+
- 待开始:<数量>
|
|
68
|
+
|
|
69
|
+
### 生成的文档
|
|
70
|
+
|
|
71
|
+
**轻量级**:
|
|
72
|
+
- [ ] proposal.md
|
|
73
|
+
- [ ] design.md
|
|
74
|
+
- [ ] tasks.md
|
|
75
|
+
|
|
76
|
+
**标准级**:
|
|
77
|
+
- [ ] understanding.md
|
|
78
|
+
- [ ] impact-analysis.md
|
|
79
|
+
- [ ] design.md
|
|
80
|
+
- [ ] tasks.md
|
|
81
|
+
|
|
82
|
+
**完整级**:
|
|
83
|
+
- [ ] understanding.md
|
|
84
|
+
- [ ] impact-analysis.md
|
|
85
|
+
- [ ] design.md
|
|
86
|
+
- [ ] tasks.md
|
|
87
|
+
- [ ] verification-report.md
|
|
88
|
+
- [ ] post-implementation-review.md
|
|
89
|
+
|
|
90
|
+
### 下一步
|
|
91
|
+
|
|
92
|
+
<根据当前状态和流程深度给出建议>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**所有需求概览**:
|
|
96
|
+
```
|
|
97
|
+
## 需求概览
|
|
98
|
+
|
|
99
|
+
### 进行中的需求
|
|
100
|
+
|
|
101
|
+
| 需求 | 流程深度 | 当前阶段 | 进度 | 最后修改 |
|
|
102
|
+
|------|----------|----------|------|----------|
|
|
103
|
+
| <name-1> | 标准级 | Impact | 2/5 | 2小时前 |
|
|
104
|
+
| <name-2> | 轻量级 | Design | 1/4 | 1天前 |
|
|
105
|
+
|
|
106
|
+
### 已完成的需求
|
|
107
|
+
|
|
108
|
+
| 需求 | 流程深度 | 完成时间 |
|
|
109
|
+
|------|----------|----------|
|
|
110
|
+
| <name-3> | 完整级 | 3天前 |
|
|
111
|
+
|
|
112
|
+
### 统计
|
|
113
|
+
|
|
114
|
+
- 总需求数:<数量>
|
|
115
|
+
- 进行中:<数量>
|
|
116
|
+
- 已完成:<数量>
|
|
117
|
+
- 已归档:<数量>
|
|
118
|
+
|
|
119
|
+
### 流程深度分布
|
|
120
|
+
|
|
121
|
+
- 轻量级:<数量>
|
|
122
|
+
- 标准级:<数量>
|
|
123
|
+
- 完整级:<数量>
|
|
124
|
+
- 快速通道:<数量>
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**输出**
|
|
128
|
+
|
|
129
|
+
根据查询范围显示相应的状态信息。
|
|
130
|
+
|
|
131
|
+
**防护措施**
|
|
132
|
+
- 如果需求不存在,提示创建新需求
|
|
133
|
+
- 如果状态文件损坏,提示修复
|
|
134
|
+
- 显示的时间使用相对时间(如"2小时前")更友好
|
|
135
|
+
- 必须根据 flowDepth 显示正确的阶段列表
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# 棕地需求 - Tasks SOP
|
|
2
|
+
|
|
3
|
+
Phase 4: 任务拆解与排期
|
|
4
|
+
|
|
5
|
+
**输入**:`/6aspec:brown:tasks` 后可选需求名称。
|
|
6
|
+
|
|
7
|
+
**步骤**
|
|
8
|
+
|
|
9
|
+
1. **选择需求并检查状态**
|
|
10
|
+
|
|
11
|
+
- 读取 `6aspecdoc/brown/<name>/status.json`
|
|
12
|
+
- 确认 `phases.design` 为 "done"
|
|
13
|
+
- 如果未完成 Phase 3,提示先运行 `/6aspec:brown:design`
|
|
14
|
+
|
|
15
|
+
2. **读取前置文档**
|
|
16
|
+
|
|
17
|
+
- `6aspecdoc/brown/<name>/artifacts/01-understanding.md`
|
|
18
|
+
- `6aspecdoc/brown/<name>/artifacts/02-impact-analysis.md`
|
|
19
|
+
- `6aspecdoc/brown/<name>/artifacts/03-technical-design.md`
|
|
20
|
+
|
|
21
|
+
3. **原子任务拆解**
|
|
22
|
+
|
|
23
|
+
按以下维度拆解任务:
|
|
24
|
+
|
|
25
|
+
**拆解原则**:
|
|
26
|
+
- 可以独立完成
|
|
27
|
+
- 有明确的输入和输出
|
|
28
|
+
- 有清晰的验收标准
|
|
29
|
+
- 预估工作量在 0.5-3 人日
|
|
30
|
+
|
|
31
|
+
**拆解维度**:
|
|
32
|
+
- 按技术层次:数据层 → 业务层 → 表现层 → 测试
|
|
33
|
+
- 按功能模块:模块A → 模块B → 模块C
|
|
34
|
+
- 按依赖关系:前置任务 → 核心任务 → 后置任务
|
|
35
|
+
|
|
36
|
+
4. **任务命名**
|
|
37
|
+
|
|
38
|
+
使用规范:`TASK-<序号>-<简短描述>`
|
|
39
|
+
|
|
40
|
+
示例:
|
|
41
|
+
- TASK-001-database-fields
|
|
42
|
+
- TASK-002-entity-classes
|
|
43
|
+
- TASK-003-domain-service-logic
|
|
44
|
+
|
|
45
|
+
5. **创建任务文档**
|
|
46
|
+
|
|
47
|
+
为每个任务创建 `6aspecdoc/brown/<name>/tasks/TASK-<序号>.md`:
|
|
48
|
+
```markdown
|
|
49
|
+
# TASK-<序号>: <任务名称>
|
|
50
|
+
|
|
51
|
+
> **任务ID**: TASK-<序号>
|
|
52
|
+
> **状态**: 📋 待开始
|
|
53
|
+
> **优先级**: 🔴 P0 / 🟡 P1
|
|
54
|
+
> **预估工作量**: X人日
|
|
55
|
+
> **负责人**: 待分配
|
|
56
|
+
|
|
57
|
+
## 任务概述
|
|
58
|
+
### 任务描述
|
|
59
|
+
### 目标
|
|
60
|
+
### 涉及文件
|
|
61
|
+
|
|
62
|
+
## 依赖关系
|
|
63
|
+
### 前置依赖
|
|
64
|
+
### 后置任务
|
|
65
|
+
|
|
66
|
+
## 输入
|
|
67
|
+
## 输出
|
|
68
|
+
## 详细步骤
|
|
69
|
+
## 验收标准
|
|
70
|
+
## 风险与注意事项
|
|
71
|
+
## 参考资料
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
6. **创建任务总览**
|
|
75
|
+
|
|
76
|
+
创建 `6aspecdoc/brown/<name>/artifacts/04-tasks-overview.md`:
|
|
77
|
+
```markdown
|
|
78
|
+
# Phase 4: 任务拆解与排期
|
|
79
|
+
|
|
80
|
+
> **需求**: <name>
|
|
81
|
+
> **阶段**: Phase 4 - 任务拆解
|
|
82
|
+
> **状态**: ✅ 已完成
|
|
83
|
+
> **完成时间**: <timestamp>
|
|
84
|
+
|
|
85
|
+
## 任务列表
|
|
86
|
+
|
|
87
|
+
### 阶段 1: 数据层
|
|
88
|
+
- [ ] TASK-001: 数据库字段配置
|
|
89
|
+
- [ ] TASK-002: 实体类字段添加
|
|
90
|
+
|
|
91
|
+
### 阶段 2: 业务层
|
|
92
|
+
- [ ] TASK-003: 领域服务逻辑实现
|
|
93
|
+
- [ ] TASK-004: 应用服务逻辑实现
|
|
94
|
+
|
|
95
|
+
### 阶段 3: 表现层
|
|
96
|
+
- [ ] TASK-005: API 接口更新
|
|
97
|
+
- [ ] TASK-006: 前端 UI 开发
|
|
98
|
+
|
|
99
|
+
### 阶段 4: 测试
|
|
100
|
+
- [ ] TASK-007: 单元测试
|
|
101
|
+
- [ ] TASK-008: 集成测试
|
|
102
|
+
|
|
103
|
+
## 依赖关系图
|
|
104
|
+
|
|
105
|
+
```mermaid
|
|
106
|
+
graph TD
|
|
107
|
+
TASK-001 --> TASK-002
|
|
108
|
+
TASK-002 --> TASK-003
|
|
109
|
+
TASK-003 --> TASK-004
|
|
110
|
+
TASK-004 --> TASK-005
|
|
111
|
+
TASK-005 --> TASK-006
|
|
112
|
+
TASK-006 --> TASK-007
|
|
113
|
+
TASK-007 --> TASK-008
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## 工作量统计
|
|
117
|
+
|
|
118
|
+
| 阶段 | 任务数 | 预估工时 |
|
|
119
|
+
|------|--------|----------|
|
|
120
|
+
| 数据层 | 2 | 1.5人日 |
|
|
121
|
+
| 业务层 | 2 | 4人日 |
|
|
122
|
+
| 表现层 | 2 | 5人日 |
|
|
123
|
+
| 测试 | 2 | 4人日 |
|
|
124
|
+
| **总计** | **8** | **14.5人日** |
|
|
125
|
+
|
|
126
|
+
## 关键里程碑
|
|
127
|
+
|
|
128
|
+
- 里程碑 1: 数据层完成(TASK-001, TASK-002)
|
|
129
|
+
- 里程碑 2: 业务层完成(TASK-003, TASK-004)
|
|
130
|
+
- 里程碑 3: 表现层完成(TASK-005, TASK-006)
|
|
131
|
+
- 里程碑 4: 测试完成(TASK-007, TASK-008)
|
|
132
|
+
|
|
133
|
+
## 风险清单
|
|
134
|
+
|
|
135
|
+
| 风险 | 影响 | 应对措施 |
|
|
136
|
+
|------|------|----------|
|
|
137
|
+
| 历史数据迁移失败 | 高 | 提前备份,准备回滚方案 |
|
|
138
|
+
| API 不兼容 | 中 | 版本控制,灰度发布 |
|
|
139
|
+
|
|
140
|
+
## 下一步
|
|
141
|
+
|
|
142
|
+
运行 `/6aspec:brown:implement` 开始执行任务。
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
7. **更新状态**
|
|
146
|
+
|
|
147
|
+
更新 `6aspecdoc/brown/<name>/status.json`:
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"status": "implement_pending",
|
|
151
|
+
"phases": {
|
|
152
|
+
"understand": "done",
|
|
153
|
+
"impact": "done",
|
|
154
|
+
"design": "done",
|
|
155
|
+
"tasks": "done",
|
|
156
|
+
"implement": "pending",
|
|
157
|
+
...
|
|
158
|
+
},
|
|
159
|
+
"tasks": {
|
|
160
|
+
"total": 8,
|
|
161
|
+
"completed": 0,
|
|
162
|
+
"pending": 8
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**输出**
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
## Phase 4 完成:任务拆解
|
|
171
|
+
|
|
172
|
+
**需求**: <name>
|
|
173
|
+
**进度**: 4/7 阶段完成
|
|
174
|
+
|
|
175
|
+
### 任务统计
|
|
176
|
+
- 总任务数:<数量>
|
|
177
|
+
- 预估总工时:<工时>
|
|
178
|
+
|
|
179
|
+
### 任务分布
|
|
180
|
+
- 数据层:<数量> 个任务
|
|
181
|
+
- 业务层:<数量> 个任务
|
|
182
|
+
- 表现层:<数量> 个任务
|
|
183
|
+
- 测试:<数量> 个任务
|
|
184
|
+
|
|
185
|
+
### 关键里程碑
|
|
186
|
+
<列出关键里程碑>
|
|
187
|
+
|
|
188
|
+
### 文档位置
|
|
189
|
+
- 6aspecdoc/brown/<name>/artifacts/04-tasks-overview.md
|
|
190
|
+
- 6aspecdoc/brown/<name>/tasks/TASK-*.md
|
|
191
|
+
|
|
192
|
+
### 下一步
|
|
193
|
+
- 运行 `/6aspec:brown:implement` 开始执行任务
|
|
194
|
+
- 或运行 `/6aspec:brown:continue` 自动进入下一阶段
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**防护措施**
|
|
198
|
+
- 必须先完成 Phase 3
|
|
199
|
+
- 任务必须是原子的、可独立完成的
|
|
200
|
+
- 任务依赖关系必须明确
|
|
201
|
+
- 验收标准必须具体
|
|
202
|
+
- 工作量评估要合理
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# 棕地需求 - Understand SOP
|
|
2
|
+
|
|
3
|
+
Phase 1: 需求理解与现状分析
|
|
4
|
+
|
|
5
|
+
**输入**:`/6aspec:brown:understand` 后可选需求名称。如果省略,从上下文推断或提示选择。
|
|
6
|
+
|
|
7
|
+
**步骤**
|
|
8
|
+
|
|
9
|
+
1. **选择需求**
|
|
10
|
+
|
|
11
|
+
如果提供了名称,使用它。否则:
|
|
12
|
+
- 从对话上下文推断
|
|
13
|
+
- 如果模糊,读取 `6aspecdoc/brown/` 目录,让用户选择
|
|
14
|
+
|
|
15
|
+
显示:"正在分析需求:<name>"
|
|
16
|
+
|
|
17
|
+
2. **检查状态**
|
|
18
|
+
|
|
19
|
+
读取 `6aspecdoc/brown/<name>/status.json`:
|
|
20
|
+
- 如果 `phases.understand` 不是 "pending",提示已完成或跳过
|
|
21
|
+
- 确认需求级别(P0/P1/P2)
|
|
22
|
+
- P2 需求提示使用 `/6aspec:brown:quick`
|
|
23
|
+
|
|
24
|
+
3. **读取需求描述**
|
|
25
|
+
|
|
26
|
+
读取 `6aspecdoc/brown/<name>/status.json` 中的 `inputSource` 字段判断输入类型:
|
|
27
|
+
- `type = "text"`:读取 `requirement.md` 中的"原始需求"部分获取需求描述。
|
|
28
|
+
- `type = "file"`:读取 `requirement.md` 中记录的来源文件路径,然后读取该文件获取完整需求内容。
|
|
29
|
+
|
|
30
|
+
4. **分析现有系统**
|
|
31
|
+
|
|
32
|
+
执行以下分析任务:
|
|
33
|
+
|
|
34
|
+
a. **搜索相关实体类**
|
|
35
|
+
```bash
|
|
36
|
+
# 根据需求关键词搜索实体类
|
|
37
|
+
rg "class.*Entity" --type java
|
|
38
|
+
rg "<关键词>" --type java -g "*Entity.java"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
b. **搜索相关服务类**
|
|
42
|
+
```bash
|
|
43
|
+
rg "class.*Service" --type java
|
|
44
|
+
rg "<关键词>" --type java -g "*Service.java"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
c. **搜索相关业务逻辑**
|
|
48
|
+
```bash
|
|
49
|
+
rg "<关键方法名>" --type java -C 5
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
d. **分析数据库表关系**
|
|
53
|
+
- 读取相关实体类
|
|
54
|
+
- 识别表关系(OneToMany, ManyToOne, ManyToMany)
|
|
55
|
+
- 绘制 ERD 图(使用 Mermaid)
|
|
56
|
+
|
|
57
|
+
e. **分析业务流程**
|
|
58
|
+
- 读取相关服务类
|
|
59
|
+
- 识别核心业务流程
|
|
60
|
+
- 绘制流程图(使用 Mermaid)
|
|
61
|
+
|
|
62
|
+
f. **识别隐性假设和约束**
|
|
63
|
+
- 分析现有代码中的校验逻辑
|
|
64
|
+
- 识别状态机约束
|
|
65
|
+
- 识别权限控制逻辑
|
|
66
|
+
|
|
67
|
+
5. **生成待明确问题清单**
|
|
68
|
+
|
|
69
|
+
基于现状分析和需求描述,生成需要用户明确的问题清单:
|
|
70
|
+
|
|
71
|
+
**问题类型**:
|
|
72
|
+
- 字段设计问题(名称、类型、必填、默认值、值域)
|
|
73
|
+
- 业务规则问题(是否可修改、是否继承、是否同步)
|
|
74
|
+
- 权限和统计问题(权限控制、统计报表)
|
|
75
|
+
- 集成和兼容问题(与其他模块的集成、数据迁移)
|
|
76
|
+
|
|
77
|
+
这些问题将在本阶段提出,并引导用户回答,为 specs 阶段的需求定义提供依据。
|
|
78
|
+
|
|
79
|
+
6. **创建分析文档**
|
|
80
|
+
|
|
81
|
+
创建 `6aspecdoc/brown/<name>/artifacts/01-understanding.md`:
|
|
82
|
+
```markdown
|
|
83
|
+
# Phase 1: 需求理解与现状分析
|
|
84
|
+
|
|
85
|
+
> **需求**: <name>
|
|
86
|
+
> **阶段**: Phase 1 - 现状分析
|
|
87
|
+
> **状态**: ✅ 已完成
|
|
88
|
+
> **完成时间**: <timestamp>
|
|
89
|
+
|
|
90
|
+
## 1. 现有系统分析
|
|
91
|
+
|
|
92
|
+
### 1.1 相关实体类
|
|
93
|
+
<列出相关实体类及其职责>
|
|
94
|
+
|
|
95
|
+
### 1.2 相关服务类
|
|
96
|
+
<列出相关服务类及其职责>
|
|
97
|
+
|
|
98
|
+
### 1.3 数据库表关系图
|
|
99
|
+
```mermaid
|
|
100
|
+
erDiagram
|
|
101
|
+
TableA ||--o{ TableB : "关系"
|
|
102
|
+
TableA {
|
|
103
|
+
string id PK
|
|
104
|
+
string name
|
|
105
|
+
}
|
|
106
|
+
TableB {
|
|
107
|
+
string id PK
|
|
108
|
+
string tableA_id FK
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 1.4 核心业务流程图
|
|
113
|
+
```mermaid
|
|
114
|
+
flowchart TB
|
|
115
|
+
Start[开始] --> Process[处理步骤]
|
|
116
|
+
Process --> Decision{判断条件}
|
|
117
|
+
Decision -->|是| End1[结束路径1]
|
|
118
|
+
Decision -->|否| End2[结束路径2]
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 1.5 隐性假设和约束
|
|
122
|
+
<列出识别的隐性假设和约束>
|
|
123
|
+
|
|
124
|
+
## 2. 待明确问题清单
|
|
125
|
+
|
|
126
|
+
### 字段设计
|
|
127
|
+
1. 字段名称:[待确认]
|
|
128
|
+
2. 字段类型:[待确认]
|
|
129
|
+
3. 是否必填:[待确认]
|
|
130
|
+
4. 默认值:[待确认]
|
|
131
|
+
5. 值域范围:[待确认]
|
|
132
|
+
|
|
133
|
+
### 业务规则
|
|
134
|
+
6. 是否可以修改:[待确认]
|
|
135
|
+
7. 子项目是否继承:[待确认]
|
|
136
|
+
8. 是否需要同步到其他表:[待确认]
|
|
137
|
+
|
|
138
|
+
### 权限和统计
|
|
139
|
+
9. 是否需要权限控制:[待确认]
|
|
140
|
+
10. 是否需要统计报表:[待确认]
|
|
141
|
+
|
|
142
|
+
## 3. 下一步
|
|
143
|
+
|
|
144
|
+
请回答上述待明确问题,然后运行 `/6aspec:brown:specs` 定义需求规格。
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
7. **更新状态**
|
|
148
|
+
|
|
149
|
+
更新 `6aspecdoc/brown/<name>/status.json`:
|
|
150
|
+
```json
|
|
151
|
+
{
|
|
152
|
+
"status": "specs_pending",
|
|
153
|
+
"phases": {
|
|
154
|
+
"understand": "done",
|
|
155
|
+
"specs": "pending",
|
|
156
|
+
"impact": "blocked",
|
|
157
|
+
...
|
|
158
|
+
},
|
|
159
|
+
"artifacts": ["01-understanding.md"]
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
8. **停止并等待用户指令**
|
|
164
|
+
|
|
165
|
+
**输出**
|
|
166
|
+
|
|
167
|
+
完成后,显示:
|
|
168
|
+
```
|
|
169
|
+
## Phase 1 完成:需求理解与现状分析
|
|
170
|
+
|
|
171
|
+
**需求**: <name>
|
|
172
|
+
**进度**: 1/7 阶段完成
|
|
173
|
+
|
|
174
|
+
### 分析结果
|
|
175
|
+
- 相关实体类:<数量>
|
|
176
|
+
- 相关服务类:<数量>
|
|
177
|
+
- 数据库表:<数量>
|
|
178
|
+
- 待明确问题:<数量>
|
|
179
|
+
|
|
180
|
+
### 关键发现
|
|
181
|
+
<列出 2-3 个关键发现>
|
|
182
|
+
|
|
183
|
+
### 待明确问题(重要)
|
|
184
|
+
<列出最重要的 3-5 个问题>
|
|
185
|
+
|
|
186
|
+
### 文档位置
|
|
187
|
+
6aspecdoc/brown/<name>/artifacts/01-understanding.md
|
|
188
|
+
|
|
189
|
+
### 下一步
|
|
190
|
+
- 直接回答上述待明确问题 → 我会更新本阶段文档(01-understanding.md)中的问题答案
|
|
191
|
+
- 运行 `/6aspec:brown:specs` → 进入需求规格定义阶段
|
|
192
|
+
- 运行 `/6aspec:brown:continue` → 自动进入下一阶段
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**用户补充信息时的处理**
|
|
196
|
+
|
|
197
|
+
当用户回答待明确问题或补充需求信息时(未使用阶段命令):
|
|
198
|
+
1. 将用户的回答整合到 `01-understanding.md` 中对应的问题项(将"[待确认]"替换为实际答案)
|
|
199
|
+
2. 如果回答引发新的发现或问题,同步更新文档的相关章节
|
|
200
|
+
3. 展示变更摘要(更新了哪些问题的答案、新增了哪些发现)
|
|
201
|
+
4. 再次提示:可以继续补充,或通过命令进入下一阶段
|
|
202
|
+
5. **禁止**:不得自动进入下一阶段
|
|
203
|
+
|
|
204
|
+
**防护措施**
|
|
205
|
+
- 必须先读取需求描述再开始分析
|
|
206
|
+
- 如果找不到相关代码,询问用户提供更多关键词
|
|
207
|
+
- 如果分析不充分,不要强行生成文档,而是询问用户
|
|
208
|
+
- 待明确问题必须具体,避免模糊问题
|