6aspec 2.0.0-dev.7 → 3.0.0-dev.1

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.
Files changed (96) hide show
  1. package/.6aspec/rules/biz/code.md +122 -28
  2. package/.6aspec/rules/biz/code_implementation_sop.md +77 -0
  3. package/.6aspec/rules/brown/brown_analyze_sop.md +289 -0
  4. package/.6aspec/rules/brown/brown_archive_sop.md +43 -78
  5. package/.6aspec/rules/brown/brown_constitution.md +11 -0
  6. package/.6aspec/rules/brown/brown_continue_sop.md +6 -13
  7. package/.6aspec/rules/brown/brown_design_sop.md +210 -95
  8. package/.6aspec/rules/brown/brown_explore_sop.md +314 -0
  9. package/.6aspec/rules/brown/brown_ff_sop.md +27 -64
  10. package/.6aspec/rules/brown/brown_impact_sop.md +101 -45
  11. package/.6aspec/rules/brown/brown_implement_sop.md +88 -58
  12. package/.6aspec/rules/brown/brown_list_sop.md +12 -12
  13. package/.6aspec/rules/brown/brown_new_sop.md +56 -77
  14. package/.6aspec/rules/brown/brown_proposal_sop.md +243 -76
  15. package/.6aspec/rules/brown/brown_quick_sop.md +5 -5
  16. package/.6aspec/rules/brown/brown_review_sop.md +4 -4
  17. package/.6aspec/rules/brown/brown_rollback_sop.md +27 -45
  18. package/.6aspec/rules/brown/brown_specs_sop.md +364 -126
  19. package/.6aspec/rules/brown/brown_status_sop.md +16 -32
  20. package/.6aspec/rules/brown/brown_tasks_sop.md +205 -87
  21. package/.6aspec/rules/brown/brown_understand_sop.md +128 -46
  22. package/.6aspec/rules/brown/brown_update_sop.md +283 -0
  23. package/.6aspec/rules/brown/brown_verify_sop.md +71 -309
  24. package/.6aspec/rules/brown/subagents/implementer.md +68 -0
  25. package/.6aspec/rules/brown/subagents/spec-compliance-reviewer.md +65 -0
  26. package/.6aspec/rules/green/{6A_archive_sop.md → green_archive_sop.md} +3 -3
  27. package/.6aspec/rules/green/{6A_clarify_sop.md → green_clarify_sop.md} +1 -1
  28. package/.6aspec/rules/green/{6A_code_implementation_sop.md → green_code_implementation_sop.md} +18 -3
  29. package/.6aspec/rules/green/{6A_continue_sop.md → green_continue_sop.md} +3 -3
  30. package/.6aspec/rules/green/{6A_new_sop.md → green_new_sop.md} +90 -11
  31. package/.6aspec/rules/green/green_status_schema.md +4 -4
  32. package/.6aspec/rules/green/{6A_status_sop.md → green_status_sop.md} +3 -3
  33. package/.6aspec/rules/green/{6A_tasks_sop.md → green_tasks_sop.md} +1 -1
  34. package/.claude/agents/implementer.md +6 -0
  35. package/.claude/agents/spec-compliance-reviewer.md +6 -0
  36. package/.claude/commands/6aspec/brown/analyze.md +11 -0
  37. package/.claude/commands/6aspec/brown/archive.md +11 -11
  38. package/.claude/commands/6aspec/brown/continue.md +11 -11
  39. package/.claude/commands/6aspec/brown/design.md +11 -11
  40. package/.claude/commands/6aspec/brown/explore.md +11 -0
  41. package/.claude/commands/6aspec/brown/ff.md +11 -11
  42. package/.claude/commands/6aspec/brown/impact.md +11 -11
  43. package/.claude/commands/6aspec/brown/implement.md +11 -11
  44. package/.claude/commands/6aspec/brown/list.md +11 -11
  45. package/.claude/commands/6aspec/brown/new.md +11 -11
  46. package/.claude/commands/6aspec/brown/proposal.md +11 -11
  47. package/.claude/commands/6aspec/brown/quick.md +11 -11
  48. package/.claude/commands/6aspec/brown/review.md +11 -11
  49. package/.claude/commands/6aspec/brown/status.md +11 -11
  50. package/.claude/commands/6aspec/brown/tasks.md +11 -11
  51. package/.claude/commands/6aspec/brown/understand.md +11 -11
  52. package/.claude/commands/6aspec/brown/update.md +11 -0
  53. package/.claude/commands/6aspec/brown/verify.md +11 -11
  54. package/.claude/commands/6aspec/code.md +10 -0
  55. package/.claude/commands/6aspec/green/archive.md +1 -1
  56. package/.claude/commands/6aspec/green/clarify.md +2 -2
  57. package/.claude/commands/6aspec/green/continue.md +1 -1
  58. package/.claude/commands/6aspec/green/design.md +2 -2
  59. package/.claude/commands/6aspec/green/{execute-task.md → implement.md} +1 -1
  60. package/.claude/commands/6aspec/green/import-model-table.md +1 -1
  61. package/.claude/commands/6aspec/green/init.md +2 -2
  62. package/.claude/commands/6aspec/green/model.md +2 -2
  63. package/.claude/commands/6aspec/green/new.md +2 -2
  64. package/.claude/commands/6aspec/green/rollback.md +1 -1
  65. package/.claude/commands/6aspec/green/status.md +1 -1
  66. package/.claude/commands/6aspec/green/tasks.md +2 -2
  67. package/.claude/commands/6aspec/green/visual-logic.md +2 -2
  68. package/.claude/settings.local.json +21 -1
  69. package/.cursor/commands/6aspec/brown/explore.md +11 -0
  70. package/.cursor/commands/6aspec/brown/update.md +9 -0
  71. package/.cursor/commands/6aspec/code.md +8 -0
  72. package/.cursor/commands/6aspec/green/archive.md +1 -1
  73. package/.cursor/commands/6aspec/green/clarify.md +2 -2
  74. package/.cursor/commands/6aspec/green/continue.md +1 -1
  75. package/.cursor/commands/6aspec/green/design.md +2 -2
  76. package/.cursor/commands/6aspec/green/{execute-task.md → implement.md} +1 -1
  77. package/.cursor/commands/6aspec/green/import-model-table.md +1 -1
  78. package/.cursor/commands/6aspec/green/init.md +2 -2
  79. package/.cursor/commands/6aspec/green/model.md +2 -2
  80. package/.cursor/commands/6aspec/green/new.md +2 -2
  81. package/.cursor/commands/6aspec/green/rollback.md +1 -1
  82. package/.cursor/commands/6aspec/green/status.md +1 -1
  83. package/.cursor/commands/6aspec/green/tasks.md +2 -2
  84. package/.cursor/commands/6aspec/green/visual-logic.md +2 -2
  85. package/README.md +1 -1
  86. package/lib/cli.js +2 -2
  87. package/lib/installer.js +19 -2
  88. package/package.json +1 -1
  89. /package/.6aspec/rules/green/{6A_constitution.md → green_constitution.md} +0 -0
  90. /package/.6aspec/rules/green/{6A_design_sop.md → green_design_sop.md} +0 -0
  91. /package/.6aspec/rules/green/{6A_import_model_table_sop.md → green_import_model_table_sop.md} +0 -0
  92. /package/.6aspec/rules/green/{6A_init_event_list_sop.md → green_init_event_list_sop.md} +0 -0
  93. /package/.6aspec/rules/green/{6A_init_map_sop.md → green_init_map_sop.md} +0 -0
  94. /package/.6aspec/rules/green/{6A_model_sop.md → green_model_sop.md} +0 -0
  95. /package/.6aspec/rules/green/{6A_rollback_sop.md → green_rollback_sop.md} +0 -0
  96. /package/.6aspec/rules/green/{6A_visual_logic_sop.md → green_visual_logic_sop.md} +0 -0
@@ -1,234 +1,472 @@
1
1
  # 棕地需求 - Specs SOP
2
2
 
3
- Phase 1.5: 需求规格定义
3
+ 需求规格定义
4
4
 
5
5
  **输入**:`/6aspec:brown:specs` 后可选需求名称。
6
6
 
7
- **适用流程**:标准级、完整级
7
+ **适用流程**:轻量级、标准级、完整级
8
8
 
9
9
  **步骤**
10
10
 
11
11
  1. **选择需求并检查状态**
12
12
 
13
13
  - 读取 `6aspecdoc/brown/<name>/status.json`
14
- - 确认 `phases.understand` 为 "done"
15
- - 如果未完成 Phase 1,提示先运行 `/6aspec:brown:understand`
16
- - 确认流程深度为 "standard" "complete"
17
- - 如果是 "lightweight",提示应该使用 `/6aspec:brown:proposal`
14
+ - 根据 `flowDepth` 检查前置阶段:
15
+ - **轻量级**:确认 `phases.proposal` "done",如果未完成提示先运行 `/6aspec:brown:proposal`
16
+ - **标准级/完整级**:确认 `phases.analyze` "done",如果未完成提示先运行 `/6aspec:brown:analyze`
18
17
 
19
18
  2. **读取前置文档**
20
19
 
21
- - `6aspecdoc/brown/<name>/requirement.md`
22
- - `6aspecdoc/brown/<name>/artifacts/01-understanding.md`
20
+ 根据 `flowDepth` 读取不同的前置文档:
23
21
 
24
- 3. **提出并收集需求问题**
22
+ **轻量级流程**:
23
+ - `6aspecdoc/brown/<name>/artifacts/proposal.md`
24
+ - `6aspecdoc/brown/<name>/explore-summary.md` - 探索摘要(如果存在)
25
25
 
26
- 基于 understanding.md 的现状分析和"发现的疑问点",系统性地提出需求问题:
26
+ **标准级/完整级流程**:
27
+ - `6aspecdoc/brown/<name>/artifacts/proposal.md`
28
+ - `6aspecdoc/brown/<name>/artifacts/analysis.md`
27
29
 
28
- **需求问题类型**:
29
- - 字段设计问题(名称、类型、必填、默认值、值域)
30
- - 业务规则问题(是否可修改、是否继承、是否同步)
31
- - 权限和统计问题(权限控制、统计报表)
32
- - 集成和兼容问题(与其他模块的集成、数据迁移)
30
+ 3. **读取问题答案(仅标准级/完整级)**
33
31
 
34
- **收集答案**:
35
- - 引导用户回答这些需求问题
36
- - 如果用户已经在对话中提供了答案,直接使用
37
- - 否则,询问用户关键问题(选择最重要的 3-5 个问题)
38
- - 在同一阶段内完成问题提出和答案收集
32
+ 如果是标准级或完整级流程,从 analysis.md 中读取"澄清结果"及影响面分析:
39
33
 
40
- 4. **定义功能需求**
34
+ - 检查澄清结果中哪些问题已经有答案
35
+ - 如果有未澄清的问题,提示用户这些问题需要明确,但不阻塞 specs 阶段
36
+ - 基于已有的澄清结果和现有系统分析,开始定义需求规格
41
37
 
42
- 基于需求理解和问题答案,明确定义系统应该具备的能力:
38
+ 注意:specs 阶段不再提出新问题,所有需求问题应该在 analyze 阶段提出并收集。
43
39
 
44
- **功能需求格式**:
45
- - FR-001: <功能描述>
46
- - 输入:<输入内容>
47
- - 输出:<输出内容>
48
- - 业务规则:<业务规则>
49
- - 验收标准:<验收标准>
40
+ 4. **按需探索代码库(可选)**
50
41
 
51
- **拆解原则**:
52
- - 每个功能需求应该是独立的、可验证的
42
+ **触发条件**:
43
+ - 需要了解现有字段定义、验证逻辑、Scenario实现方式
44
+ - 需要了解现有的非功能需求实现(如权限控制、性能优化)
45
+ - 用户明确要求探索(例如:"先了解一下现有实现")
46
+ - 信息不足,需要参考现有代码才能定义准确的需求规格
47
+
48
+ **探索方式**:
49
+
50
+ a. **简单搜索**(使用 Grep/Glob 工具):
51
+
52
+ - 搜索相关 Entity 类的字段定义:pattern = `private.*<字段名>`,type = `java`,glob = `*Entity.java`
53
+ - 搜索相关验证注解:pattern = `@NotNull|@NotEmpty|@Valid`,type = `java`,glob = `*Entity.java`
54
+ - 搜索现有的测试场景:pattern = `test.*<功能名>`,type = `java`,glob = `*Test.java`
55
+
56
+ b. **复杂探索**(使用Task工具调用Explore agent):
57
+ - 当需要深入理解现有架构模式时
58
+ - 当需要跨多个文件理解业务逻辑时
59
+
60
+ **探索结果处理**:
61
+ - 探索发现直接用于需求规格定义
62
+ - 不生成独立文档
63
+ - 在specs.md中可以标注"基于现有实现:<文件路径>"
64
+
65
+ **注意**:
66
+ - 探索是可选的,不是强制的
67
+ - 如果前置文档(proposal、understanding、impact)已经提供了足够信息,可以跳过探索
68
+ - 探索应该聚焦、快速,避免过度探索
69
+
70
+ 5. **明确 Key Entities 和 Business Rules**
71
+
72
+ 在定义功能需求之前,先从前置文档中识别业务对象和业务规则,作为后续需求定义的"词汇表"和"约束基础"。
73
+
74
+ **Key Entities(关键业务对象)**:
75
+ - 识别本次需求涉及的核心业务对象(不是数据库表,是业务概念)
76
+ - 明确每个实体的含义、关键属性口径、状态流转和与其他实体的关系
77
+ - 避免写数据库字段类型、类名等技术细节
78
+
79
+ **Business Rules(业务规则)**:
80
+ - 识别业务上必须成立的约束/推导规则(与实现无关)
81
+ - 按 Capability 分类组织,全局规则(跨 Capability)放在"通用规则"分类下
82
+ - 规则描述格式:条件 → 结果,或直接描述约束
83
+
84
+ **Business Rules 组织格式**:
85
+ ```markdown
86
+ ### 通用规则
87
+ - BR-001:<跨 Capability 的全局约束>
88
+
89
+ ### Capability: <capability-name>
90
+ - BR-002:<该能力特有的约束>
91
+ - BR-003:<该能力特有的约束>
92
+ ```
93
+
94
+ **注意**:
95
+ - 如果某个 Capability 没有特有规则,不需要单独列出
96
+ - 如果所有规则都是全局的,只写"通用规则"即可
97
+ - Business Rules 是业务约束,不是技术约束(技术约束放非功能需求)
98
+
99
+ 6. **基于 Capabilities 定义功能需求**
100
+
101
+ 从 proposal.md 中读取 Capabilities 列表,按 Capability 组织功能需求:
102
+
103
+ **功能需求格式**(按 Capability 组织):
104
+ ```markdown
105
+ ### Capability: <capability-name> [ADD/MODIFY/REMOVE]
106
+
107
+ <Capability 描述,说明这个能力是做什么的>
108
+
109
+ #### Requirement: <需求名称>
110
+
111
+ <需求描述,使用 SHALL/MUST 关键字表示强制性要求>
112
+
113
+ ##### 验收标准
114
+ - AC1: <可观察、可验证的验收点>
115
+ - AC2: <可观察、可验证的验收点>
116
+
117
+ ##### Scenario: <场景名称>
118
+
119
+ - **触发类型** 用户操作|外部系统触发|事件订阅|定时任务
120
+ - **GIVEN** <前置条件(业务对象状态/权限/已有数据/开关等)>
121
+ - **WHEN** <触发动作>
122
+ - **THEN** <预期结果>
123
+ - **AND** <额外的预期结果>(可选)
124
+
125
+ ##### Scenario: <另一个场景名称>
126
+
127
+ - **触发类型** 用户操作|外部系统触发|事件订阅|定时任务
128
+ - **GIVEN** <前置条件>
129
+ - **WHEN** <触发动作>
130
+ - **THEN** <预期结果>
131
+
132
+ #### Requirement: <另一个需求名称>
133
+
134
+ <需求描述>
135
+
136
+ ##### 验收标准
137
+ - AC1: <...>
138
+
139
+ ##### Scenario: <场景名称>
140
+
141
+ - **触发类型** 用户操作|外部系统触发|事件订阅|定时任务
142
+ - **GIVEN** <前置条件>
143
+ - **WHEN** <触发动作>
144
+ - **THEN** <预期结果>
145
+ ```
146
+
147
+ **组织原则**:
148
+ - 每个 Capability 对应 proposal.md 中的一个能力
149
+ - 在 Capability 级别标识变更类型:[ADD](新增)、[MODIFY](修改)、[REMOVE](移除)
150
+ - 每个 Capability 下包含多个 Requirements
151
+ - 每个 Requirement 应该是独立的、可验证的
152
+ - 每个 Requirement SHOULD 显式列出验收标准(AC),用于快速评审覆盖面与边界
153
+ - 每个 Scenario MUST 包含:触发类型 + GIVEN/WHEN/THEN(AND 可选);触发类型只能从「用户操作|外部系统触发|事件订阅|定时任务」中选择
154
+ - 使用 SHALL/MUST 关键字表示强制性要求,SHOULD 表示推荐性要求
53
155
  - 功能需求应该从用户视角描述(做什么,而不是怎么做)
54
156
  - 避免技术实现细节(技术细节放在 design 阶段)
55
157
 
56
- 5. **定义非功能需求**
158
+ 6. **定义非功能需求(可选)**
159
+
160
+ 明确系统应该满足的质量标准。**注意:只写有明确要求的项,不要为了完整性而写空泛内容。**
57
161
 
58
- 明确系统应该满足的质量标准:
162
+ **非功能需求格式**:
163
+ ```markdown
164
+ ### 性能需求
165
+ - 响应时间 SHALL < 200ms
166
+ - 并发量 SHALL 支持 1000+ QPS
59
167
 
60
- - NFR-001: 性能需求(响应时间、并发量等)
61
- - NFR-002: 安全需求(权限控制、数据加密等)
62
- - NFR-003: 可用性需求(易用性、可维护性等)
63
- - NFR-004: 兼容性需求(浏览器、数据库等)
168
+ ### 安全需求
169
+ - 权限控制:只有管理员 SHALL 可以修改
170
+ - 数据加密:敏感数据 SHALL 加密存储
64
171
 
65
- 6. **定义范围和约束**
172
+ ### 可用性需求
173
+ - 易用性:界面 SHOULD 符合团队 UI 规范
174
+ - 可维护性:代码 SHOULD 遵循现有架构模式
66
175
 
67
- 明确做什么、不做什么:
176
+ ### 兼容性需求
177
+ - 浏览器:SHALL 支持 Chrome/Firefox/Safari 最新版本
178
+ - 数据库:SHALL 兼容现有数据库版本
179
+ ```
68
180
 
69
- **范围定义**:
70
- - 包含:<明确包含的功能>
71
- - 不包含:<明确不包含的功能>
181
+ **注意事项**:
182
+ - 使用 SHALL/MUST 表示强制性要求,SHOULD 表示推荐性要求
183
+ - 如果某个类别(如性能、安全)没有明确要求,可以省略该小节
184
+ - 避免写"遵循最佳实践"等空泛描述
72
185
 
73
- **约束条件**:
74
- - 技术约束:<技术上的限制>
75
- - 业务约束:<业务上的限制>
76
- - 时间约束:<时间上的限制>
186
+ 7. **定义范围边界(可选)**
77
187
 
78
- 7. **定义验收标准**
188
+ 明确做什么、不做什么,以及关键约束:
79
189
 
80
- 明确如何验证需求已经实现:
190
+ **范围边界格式**:
191
+ ```markdown
192
+ ## 1. 范围边界
81
193
 
82
- - AC-001: <功能验收标准>
83
- - AC-002: <非功能验收标准>
84
- - AC-003: <数据验收标准>
194
+ **本次实现**:
195
+ - <明确包含的核心功能>
196
+ - <明确包含的核心功能>
197
+
198
+ **明确不包含**:
199
+ - <明确排除的功能或场景>
200
+ - <明确排除的功能或场景>
201
+
202
+ **关键约束**(可选):
203
+ - <技术约束:如必须使用某技术栈、兼容某版本>
204
+ - <业务约束:如必须满足某业务规则>
205
+ - <时间约束:如必须在某时间前完成>
206
+ ```
207
+
208
+ **注意事项**:
209
+ - 范围边界用于明确需求边界,避免范围蔓延
210
+ - "本次实现"应该简洁列出核心功能点
211
+ - "明确不包含"用于排除容易混淆的功能
212
+ - "关键约束"只写有实际影响的约束,如果没有可以省略
213
+ - 如果范围已经很明确(如简单的 bug 修复),整个章节可以省略
85
214
 
86
215
  8. **创建需求规格文档**
87
216
 
88
- 创建 `6aspecdoc/brown/<name>/artifacts/01.5-specs.md`:
217
+ 注意:Scenario 用于将关键验收路径以结构化方式表达(GIVEN/WHEN/THEN),但验收标准仍应显式列出,便于评审快速检查覆盖面与边界。
218
+
219
+ 创建 `6aspecdoc/brown/<name>/artifacts/specs.md`:
89
220
  ```markdown
90
- # Phase 1.5: 需求规格定义
221
+ # 需求规格定义
91
222
 
92
223
  > **需求**: <name>
93
- > **阶段**: Phase 1.5 - 需求规格
224
+ > **基于提案**: proposal.md
225
+ > **流程**: <flowDepth>
226
+ > **阶段**: Specs
94
227
  > **状态**: ✅ 已完成
95
228
  > **完成时间**: <timestamp>
96
229
 
97
- ## 1. 需求概述
230
+ ## 1. 范围边界
231
+
232
+ **本次实现**:
233
+ - <明确包含的核心功能>
234
+ - <明确包含的核心功能>
235
+
236
+ **明确不包含**:
237
+ - <明确排除的功能或场景>
238
+ - <明确排除的功能或场景>
239
+
240
+ **关键约束**(可选):
241
+ - <技术约束:如必须使用某技术栈、兼容某版本>
242
+ - <业务约束:如必须满足某业务规则>
243
+ - <时间约束:如必须在某时间前完成>
244
+
245
+ ## 2. Key Entities(关键业务对象)
246
+
247
+ > 轻量业务模型:描述业务对象的含义、关键属性口径、状态与关系;避免写数据库表/类/字段类型。
248
+
249
+ - **实体**:<实体名称>
250
+ - **定义**:<一句话定义>
251
+ - **关键属性**:<属性1口径>;<属性2口径>...
252
+ - **状态**(可选):<状态列表>
253
+ - **关系**(可选):<与其他实体的业务关系>
254
+
255
+ ## 3. Business Rules(业务规则)
98
256
 
99
- ### 1.1 业务目标
100
- <为什么需要这个功能>
257
+ > 业务上必须成立的约束/推导规则(与实现无关)。按 Capability 分类,跨 Capability 的全局规则放在"通用规则"下。
101
258
 
102
- ### 1.2 使用场景
103
- <谁用、什么时候用、怎么用>
259
+ ### 通用规则
260
+ - BR-001:<跨 Capability 的全局约束>
104
261
 
105
- ### 1.3 范围定义
106
- **包含**:
107
- - <明确包含的功能>
262
+ ### Capability: <capability-name>
263
+ - BR-002:<该能力特有的约束>
108
264
 
109
- **不包含**:
110
- - <明确不包含的功能>
265
+ ## 4. 功能需求
111
266
 
112
- ## 2. 功能需求
267
+ ### Capability: <capability-name> [ADD]
113
268
 
114
- ### FR-001: <功能名称>
115
- **描述**:<功能描述>
269
+ <Capability 描述,说明这个能力是做什么的>
116
270
 
117
- **输入**:
118
- - <输入内容>
271
+ #### Requirement: <需求名称>
119
272
 
120
- **输出**:
121
- - <输出内容>
273
+ <需求描述,使用 SHALL/MUST 关键字表示强制性要求>
122
274
 
123
- **业务规则**:
124
- - <业务规则1>
125
- - <业务规则2>
275
+ ##### 验收标准
276
+ - AC1: <可观察、可验证的验收点>
277
+ - AC2: <可观察、可验证的验收点>
126
278
 
127
- **验收标准**:
128
- - <验收标准1>
129
- - <验收标准2>
279
+ ##### Scenario: <场景名称>
130
280
 
131
- ### FR-002: <功能名称>
132
- ...
281
+ - **触发类型** 用户操作|外部系统触发|事件订阅|定时任务
282
+ - **GIVEN** <前置条件(业务对象状态/权限/已有数据/开关等)>
283
+ - **WHEN** <触发动作>
284
+ - **THEN** <预期结果>
285
+ - **AND** <额外的预期结果>(可选)
133
286
 
134
- ## 3. 非功能需求
287
+ ##### Scenario: <另一个场景名称>
135
288
 
136
- ### 3.1 性能需求
137
- - NFR-001: <性能要求>
289
+ - **触发类型** 用户操作|外部系统触发|事件订阅|定时任务
290
+ - **GIVEN** <前置条件>
291
+ - **WHEN** <触发动作>
292
+ - **THEN** <预期结果>
138
293
 
139
- ### 3.2 安全需求
140
- - NFR-002: <安全要求>
294
+ #### Requirement: <另一个需求名称>
141
295
 
142
- ### 3.3 可用性需求
143
- - NFR-003: <可用性要求>
296
+ <需求描述>
144
297
 
145
- ### 3.4 兼容性需求
146
- - NFR-004: <兼容性要求>
298
+ ##### 验收标准
299
+ - AC1: <...>
147
300
 
148
- ## 4. 约束条件
301
+ ##### Scenario: <场景名称>
149
302
 
150
- ### 4.1 技术约束
151
- - <技术上的限制>
303
+ - **触发类型** 用户操作|外部系统触发|事件订阅|定时任务
304
+ - **GIVEN** <前置条件>
305
+ - **WHEN** <触发动作>
306
+ - **THEN** <预期结果>
152
307
 
153
- ### 4.2 业务约束
154
- - <业务上的限制>
308
+ ### Capability: <another-capability-name> [MODIFY]
155
309
 
156
- ### 4.3 时间约束
157
- - <时间上的限制>
310
+ <Capability 描述>
158
311
 
159
- ## 5. 验收标准
312
+ #### Requirement: <需求名称>
160
313
 
161
- ### 5.1 功能验收
162
- - AC-001: <功能验收标准>
163
- - AC-002: <功能验收标准>
314
+ <需求描述>
164
315
 
165
- ### 5.2 非功能验收
166
- - AC-003: <非功能验收标准>
167
- - AC-004: <非功能验收标准>
316
+ ##### 验收标准
317
+ - AC1: <...>
168
318
 
169
- ### 5.3 数据验收
170
- - AC-005: <数据验收标准>
319
+ ##### Scenario: <场景名称>
320
+
321
+ - **触发类型** 用户操作|外部系统触发|事件订阅|定时任务
322
+ - **GIVEN** <前置条件>
323
+ - **WHEN** <触发动作>
324
+ - **THEN** <预期结果>
325
+
326
+ ## 5. 非功能需求
327
+
328
+ > **注意**:只写有明确要求的项,如果某个类别没有明确要求,可以省略该小节。
329
+
330
+ ### 性能需求
331
+ - 响应时间 SHALL < <具体值>
332
+ - 并发量 SHALL 支持 <具体值>
333
+
334
+ ### 安全需求
335
+ - 权限控制:<具体要求>
336
+ - 数据加密:<具体要求>
337
+
338
+ ### 可用性需求
339
+ - 易用性:<具体要求>
340
+ - 可维护性:<具体要求>
341
+
342
+ ### 兼容性需求
343
+ - 浏览器:SHALL 支持 <具体版本>
344
+ - 数据库:SHALL 兼容 <具体版本>
171
345
 
172
346
  ## 6. 下一步
173
347
 
174
- 运行 `/6aspec:brown:impact` 进行影响面分析。
348
+ 运行 `/6aspec:brown:design` 进行技术方案设计
175
349
  ```
176
350
 
177
351
  9. **更新状态**
178
352
 
179
353
  更新 `6aspecdoc/brown/<name>/status.json`:
354
+
355
+ **轻量级流程**:
180
356
  ```json
181
357
  {
182
- "status": "impact_pending",
358
+ "status": "design_pending",
359
+ "flowDepth": "lightweight",
183
360
  "phases": {
184
- "understand": "done",
361
+ "proposal": "done",
185
362
  "specs": "done",
186
- "impact": "pending",
187
- ...
363
+ "design": "pending",
364
+ "tasks": "blocked",
365
+ "implement": "blocked"
188
366
  },
189
- "artifacts": ["01-understanding.md", "01.5-specs.md"]
367
+ "artifacts": ["proposal.md", "specs.md"]
190
368
  }
191
369
  ```
192
370
 
371
+ **标准级流程**:
372
+ ```json
373
+ {
374
+ "status": "design_pending",
375
+ "flowDepth": "standard",
376
+ "phases": {
377
+ "analyze": "done",
378
+ "proposal": "done",
379
+ "specs": "done",
380
+ "design": "pending",
381
+ "tasks": "blocked",
382
+ "implement": "blocked"
383
+ },
384
+ "artifacts": ["analysis.md", "proposal.md", "specs.md"]
385
+ }
386
+ ```
387
+
388
+ 同时更新 `6aspecdoc/brown/<name>/requirement.md`:
389
+ - 更新"状态"字段为 `📋 Design 待开始`
390
+ - 更新"最后修改"时间戳为 `<timestamp>`
391
+ - 更新"当前阶段"为 `Specs - 需求规格定义(已完成)`
392
+ - 更新"下一步操作"为 `运行 /6aspec:brown:design 继续下一阶段`
393
+ - 在"进度概览"中标记 Specs 阶段为已完成 `[x]`
394
+
193
395
  **输出**
194
396
 
397
+ 根据 `flowDepth` 显示不同的输出信息:
398
+
399
+ **轻量级流程**:
195
400
  ```
196
- ## Phase 1.5 完成:需求规格定义
401
+ ## Specs 完成:<name>
197
402
 
198
- **需求**: <name>
199
- **进度**: 2/8 阶段完成(标准级)或 2/9 阶段完成(完整级)
403
+ **流程**: 轻量级
404
+ **进度**: 2/5 阶段完成
200
405
 
201
406
  ### 需求概要
202
- - 功能需求:<数量>
203
- - 非功能需求:<数量>
204
- - 验收标准:<数量>
407
+ - Capabilities:<数量> 个能力
408
+ - Requirements:<数量> 个需求
409
+ - Scenarios:<数量> 个测试场景
410
+ - 非功能需求:<数量> 项
205
411
 
206
- ### 核心功能
207
- <列出 2-3 个核心功能需求>
412
+ ### 核心 Capabilities
413
+ <列出 2-3 个核心 Capability 及其变更类型(ADD/MODIFY/REMOVE)>
414
+
415
+ ### 文档位置
416
+ 6aspecdoc/brown/<name>/artifacts/specs.md
417
+
418
+ ### 下一步
419
+ - 直接回复补充或修正需求规格 → 我会更新本阶段文档(specs.md)
420
+ - 运行 `/6aspec:brown:design` → 进入技术方案设计阶段
421
+ - 运行 `/6aspec:brown:continue` → 自动进入下一阶段
422
+ ```
423
+
424
+ **标准级流程**:
425
+ ```
426
+ ## Specs 完成:<name>
427
+
428
+ **流程**: 标准级
429
+ **进度**: 3/5 阶段完成
430
+
431
+ ### 需求概要
432
+ - Capabilities:<数量> 个能力
433
+ - Requirements:<数量> 个需求
434
+ - Scenarios:<数量> 个测试场景
435
+ - 非功能需求:<数量> 项
208
436
 
209
- ### 关键约束
210
- <列出 1-2 个关键约束>
437
+ ### 核心 Capabilities
438
+ <列出 2-3 个核心 Capability 及其变更类型(ADD/MODIFY/REMOVE)>
211
439
 
212
440
  ### 文档位置
213
- 6aspecdoc/brown/<name>/artifacts/01.5-specs.md
441
+ 6aspecdoc/brown/<name>/artifacts/specs.md
214
442
 
215
443
  ### 下一步
216
- - 直接回复补充或修正需求规格 → 我会更新本阶段文档(01.5-specs.md)
217
- - 运行 `/6aspec:brown:impact` → 进入影响面分析阶段
444
+ - 直接回复补充或修正需求规格 → 我会更新本阶段文档(specs.md)
445
+ - 运行 `/6aspec:brown:design` → 进入技术方案设计阶段
218
446
  - 运行 `/6aspec:brown:continue` → 自动进入下一阶段
219
447
  ```
220
448
 
221
449
  **用户补充信息时的处理**
222
450
 
223
451
  当用户补充需求细节、修正功能需求时(未使用阶段命令):
224
- 1. 将用户的补充整合到 `01.5-specs.md` 的对应章节(功能需求、非功能需求、验收标准等)
452
+ 1. 将用户的补充整合到 `specs.md` 的对应章节(功能需求、非功能需求、验收标准等)
225
453
  2. 展示变更摘要
226
454
  3. 再次提示:可以继续补充,或通过命令进入下一阶段
227
455
  4. **禁止**:不得自动进入下一阶段
228
456
 
229
457
  **防护措施**
230
- - 必须先完成 Phase 1(understand)
231
- - 只适用于标准级和完整级流程
458
+ - 适用于所有流程(轻量级、标准级、完整级)
459
+ - 根据flowDepth检查不同的前置阶段:
460
+ - 轻量级:必须先完成proposal阶段
461
+ - 标准级/完整级:必须先完成impact阶段
462
+ - 功能需求必须按 Capability 组织,结构为:Capability > Requirement > Scenario
463
+ - 每个 Capability 必须标识变更类型:[ADD](新增)、[MODIFY](修改)、[REMOVE](移除)
464
+ - 每个 Capability 应该对应 proposal.md 中的一个能力
465
+ - 功能需求必须使用 Requirement + Scenario (WHEN/THEN) 格式
466
+ - 每个 Scenario 的触发类型只能从「用户操作|外部系统触发|事件订阅|定时任务」中选择
467
+ - 使用 SHALL/MUST 表示强制性要求,SHOULD 表示推荐性要求
468
+ - 每个 Scenario 必须可测试、可验证
232
469
  - 功能需求必须从用户视角描述,避免技术实现细节
233
- - 验收标准必须具体、可验证
234
470
  - 需求问题的答案应该体现在功能需求定义中,而不是单独列出
471
+ - 非功能需求和范围边界只写有明确要求的内容,避免空泛描述
472
+ - specs的详细程度保持一致,不区分流程深度