@zhouhao4221/devflow-skills 0.3.6 → 0.3.7

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 (40) hide show
  1. package/package.json +1 -1
  2. package/plugins/diag/templates/services.yaml.template +31 -0
  3. package/plugins/req/skills/branch/SKILL.md +48 -377
  4. package/plugins/req/skills/dev/SKILL.md +1 -1
  5. package/plugins/req/skills/dev-guide/SKILL.md +74 -399
  6. package/plugins/req/skills/do/SKILL.md +1 -1
  7. package/plugins/req/skills/done/SKILL.md +2 -2
  8. package/plugins/req/skills/edit/SKILL.md +1 -1
  9. package/plugins/req/skills/fix/SKILL.md +1 -1
  10. package/plugins/req/skills/init/SKILL.md +66 -430
  11. package/plugins/req/skills/issue/SKILL.md +1 -1
  12. package/plugins/req/skills/migrate/SKILL.md +1 -1
  13. package/plugins/req/skills/natural-language-dispatcher/SKILL.md +78 -438
  14. package/plugins/req/skills/new/SKILL.md +1 -1
  15. package/plugins/req/skills/pr/SKILL.md +1 -1
  16. package/plugins/req/skills/prd/SKILL.md +1 -1
  17. package/plugins/req/skills/prd-edit/SKILL.md +1 -1
  18. package/plugins/req/skills/release/SKILL.md +1 -1
  19. package/plugins/req/skills/review/SKILL.md +1 -1
  20. package/plugins/req/skills/review-pr/SKILL.md +74 -601
  21. package/plugins/req/skills/test/SKILL.md +41 -355
  22. package/plugins/req/skills/test_new/SKILL.md +36 -356
  23. package/plugins/req/skills/test_regression/SKILL.md +1 -1
  24. package/plugins/req/skills/update-template/SKILL.md +1 -1
  25. package/plugins/req/skills/use/SKILL.md +1 -1
  26. package/plugins/req/templates/claude-md-snippets/frontend-react.md +48 -0
  27. package/plugins/req/templates/claude-md-snippets/generic.md +43 -0
  28. package/plugins/req/templates/claude-md-snippets/go-backend.md +47 -0
  29. package/plugins/req/templates/claude-md-snippets/java-backend.md +46 -0
  30. package/plugins/req/templates/docker-compose.test.yml +84 -0
  31. package/plugins/req/templates/index-template.md +60 -0
  32. package/plugins/req/templates/module-template.md +79 -0
  33. package/plugins/req/templates/prd-template.md +338 -0
  34. package/plugins/req/templates/quick-template.md +71 -0
  35. package/plugins/req/templates/release-prompt-template.md +51 -0
  36. package/plugins/req/templates/requirement-template.md +256 -0
  37. package/plugins/req/templates/scripts/test-env.sh +226 -0
  38. package/plugins/req/templates/tests/e2e/playwright.config.ts +86 -0
  39. package/plugins/uat/templates/flow-template.md +116 -0
  40. package/plugins/uat/templates/testid-convention.md +42 -0
@@ -7,149 +7,87 @@ description: 开发引导助手。仅在执行 /req:dev 命令时触发。按项
7
7
 
8
8
  仅在 `/req:dev` 命令执行时激活,负责实现方案生成、开发引导和进度跟踪。
9
9
 
10
- 根据需求类型(后端/前端/全栈)采用不同的开发引导策略:
11
- - **后端**:读取 docs/prompt/architecture.md 的分层架构,按配置的层级顺序详细引导
12
- - **前端**:聚焦功能点描述,依赖项目自身的技能和规范引导实现
10
+ 根据需求类型采用不同策略:
11
+ - **后端**:读取 `docs/prompt/architecture.md` 分层架构,按层级顺序引导
12
+ - **前端**:聚焦功能点描述,实现交给项目自身技能和规范
13
13
  - **全栈**:后端分层 + 前端功能点,分阶段引导
14
14
 
15
- > **重要**:本 skill 不内置任何项目架构细节。分层顺序、目录结构、命名规范、开发规范
16
- > 均从 docs/prompt/architecture.md 读取。如文件不存在,
17
- > 会发出警告并建议用户通过 `/req:init --reinit` 补充。
15
+ > skill 不内置项目架构细节,均从 `docs/prompt/architecture.md` 读取。
18
16
 
19
17
  ---
20
18
 
21
19
  ## 一、前置准备
22
20
 
23
- ### 1. 读取模块上下文
21
+ ### 1. 加载模块上下文
24
22
 
25
- 如果需求元信息中指定了模块,先读取模块文档:
26
-
27
- ```
28
- docs/requirements/modules/<模块名>.md
29
- ```
30
-
31
- 从中提取:
32
- - 模块职责和边界(确定实现范围)
33
- - 已有数据模型和 API(避免重复建设)
34
- - 相关需求列表(识别依赖)
23
+ 需求元信息指定了模块时,读取 `docs/requirements/modules/<模块名>.md`,提取:职责边界、已有数据模型和 API、相关需求列表。
35
24
 
36
25
  ### 2. 识别需求类型
37
26
 
38
- | 类型 | 流程差异 |
39
- |------|---------|
40
- | REQ-XXX(正式需求) | 必须先通过评审,有完整的需求定义章节 |
41
- | QUICK-XXX(快速修复) | 跳过评审,方案确认后直接开发 |
27
+ - REQ-XXX:必须先通过评审,有完整需求定义
28
+ - QUICK-XXX:跳过评审,方案确认后直接开发
42
29
 
43
30
  ### 3. 识别项目类型
44
31
 
45
- 从需求元信息的「类型」字段判断:
46
-
47
- | 类型 | 开发引导策略 |
48
- |------|------------|
49
- | 后端 | 完整分层架构引导(四~六章节) |
50
- | 前端 | 功能点清单引导(四-前端章节),实现交给项目自身技能 |
51
- | 全栈 | 后端分层 + 前端功能点,分阶段引导 |
32
+ 从需求元信息「类型」字段判断:后端/前端/全栈。
52
33
 
53
34
  ### 4. 仓库角色检查
54
35
 
55
- 读取 `.claude/settings.local.json` 的 `requirementRole`:
56
-
57
36
  | 角色 | 行为 |
58
37
  |------|------|
59
- | `primary` | 本地读写,修改后自动同步缓存 |
60
- | `readonly` | 从缓存读取,允许基于已完成需求开发,不写入需求文档 |
38
+ | `primary` | 本地读写,修改后同步缓存 |
39
+ | `readonly` | 从缓存读取,可基于已完成需求开发,不写入 |
61
40
 
62
41
  ### 5. 加载项目知识
63
42
 
64
- **架构文件(prompt)**:Read `docs/prompt/architecture.md`,获取技术栈、分层架构、开发规范、测试规范。
65
-
66
- - 文件存在 → 读取,静默注入
67
- - 文件不存在 → 打印一次提示(非阻塞):
68
- ```
69
- ⚠️ 未找到 docs/prompt/architecture.md
70
- /req:dev 依赖此文件了解项目分层和开发规范
71
- 可执行 /req:init --reinit 自动生成
72
- ```
73
-
74
- **项目 Skills(具体约定)**:扫描 `.claude/skills/` 目录,读取所有 `.md` 文件。
75
-
76
- - 目录存在且有文件 → 全部读取,静默注入
77
- - 目录不存在或为空 → 静默跳过
78
-
79
- > `docs/prompt/architecture.md` 提供宽泛的架构知识;`.claude/skills/` 提供窄的具体约定(如路径变量)。两者互补,后续步骤直接使用,无需重复读取。
43
+ - **架构文件**:Read `docs/prompt/architecture.md`(不存在时打印非阻塞警告,建议 `/req:init --reinit`)
44
+ - **项目 Skills**:扫描 `.claude/skills/` 下所有 `.md` 文件,静默注入
80
45
 
81
46
  ---
82
47
 
83
48
  ## 二、前置状态检查
84
49
 
85
- **在开始开发前必须检查需求状态,不通过则立即终止。**
86
-
87
- ### REQ-XXX(正式需求)— 必须通过评审
50
+ ### REQ-XXX(正式需求)
88
51
 
89
- | 当前状态 | 处理方式 |
90
- |---------|---------|
91
- | 📝 草稿 | 拒绝:`需求尚未评审,请先执行 /req:review 提交评审` |
92
- | 👀 待评审 | 拒绝:`需求正在评审中,请等待评审通过后再开发` |
93
- | 评审驳回 | 拒绝:`需求评审未通过,请先修改后重新提审:/req:edit → /req:review` |
94
- | 评审通过 | 允许,首次进入 |
95
- | 🔨 开发中 | ✅ 允许,继续开发 |
96
- | 🧪 测试中 | ✅ 允许,修复测试问题 |
97
- | 🎉 已完成 | readonly → ✅ 允许;primary → ⚠️ 警告:`需求已完成,如需修改请创建新需求` |
98
-
99
- ### QUICK-XXX(快速修复)— 跳过评审
52
+ | 状态 | 行为 |
53
+ |------|------|
54
+ | 草稿/待评审/评审驳回 | 拒绝,提示先评审 |
55
+ | 评审通过 | 允许,首次进入 |
56
+ | 开发中/测试中 | 允许,继续开发 |
57
+ | 已完成 | readonly 允许;primary 警告 |
100
58
 
101
- | 当前状态 | 处理方式 |
102
- |---------|---------|
103
- | 📝 草稿 | ✅ 允许,方案确认后直接开发 |
104
- | 方案确认 | ✅ 允许 |
105
- | 🔨 开发中 | ✅ 允许,继续开发 |
106
- | 🎉 已完成 | readonly → ✅ 允许;primary → ⚠️ 警告 |
59
+ ### QUICK-XXX(快速修复)
107
60
 
108
- ### `--reset` 标志
61
+ 草稿/方案确认/开发中 允许。已完成 → readonly 允许,primary 警告。
109
62
 
110
- `--reset` 参数时,清除已有实现方案(十一、实现方案),从头重新生成。
63
+ `--reset` 标志清除已有实现方案,重新生成。
111
64
 
112
65
  ---
113
66
 
114
- ## 二-B、分支管理
115
-
116
- > 仅 `primary` 仓库执行,`readonly` 仓库跳过。
67
+ ## 二-B、分支管理(仅 primary)
117
68
 
118
- ### 1. 工作区清洁检查
69
+ ### 1. 工作区检查
119
70
 
120
- 执行 `git status --porcelain`。若有未提交改动,列出改动文件,提示用户先 commit 或 stash,**终止流程**。
71
+ `git status --porcelain`,有未提交改动时列出文件,终止流程。
121
72
 
122
73
  ### 2. 检测主分支
123
74
 
124
- 优先 `git symbolic-ref refs/remotes/origin/HEAD`,失败时依次尝试 `origin/main`、`origin/master`,都失败回退 `main`。
75
+ 优先 `git symbolic-ref refs/remotes/origin/HEAD`,失败按序探测 `origin/main`、`origin/master`。
125
76
 
126
77
  ### 3. 分支切换或创建
127
78
 
128
- **已有 branch 字段**(元信息 `branch` 非 `-`):
129
- - 本地存在 → `git checkout <branch>`
130
- - 仅远程存在 → `git checkout -b <branch> origin/<branch>`
131
- - 都不存在 → 从主分支创建 `git checkout -b <branch> <主分支>`
132
-
133
- **首次进入**(`branch` 为 `-` 或缺失):
134
- 1. 从需求标题生成英文 slug(小写 kebab-case,最多 5 词,ASCII only)
135
- 2. 分支名格式:
136
- - REQ → `feat/REQ-XXX-<slug>`
137
- - QUICK → `fix/QUICK-XXX-<slug>`
138
- 3. 若需求文档元信息 `issue` 字段非 `-` 且非空(如 `#12`),在分支名末尾追加 `-i<N>`(如 `-i12`)
139
- 4. 展示分支名,等待用户确认(可修改)
140
- 5. 创建分支 `git checkout -b <branch> <主分支>`
141
- 6. 将分支名写入需求文档元信息 `branch` 字段
79
+ - 已有 branch 字段 切到该分支(本地/远程/新建)
80
+ - 首次进入生成分支名(`feat/REQ-XXX-slug` `fix/QUICK-XXX-slug`),slug 从标题翻译,最多 5 词,ASCII only。关联 issue 时追加 `-iN` 后缀。用户确认后创建。
142
81
 
143
82
  ### 4. 分支命名规则
144
83
 
145
84
  | 规则 | 说明 |
146
85
  |------|------|
147
86
  | 前缀 | REQ → `feat/`,QUICK → `fix/` |
148
- | 编号 | 保留完整编号(REQ-001、QUICK-003) |
149
- | slug | 英文翻译,lowercase kebab-case |
150
- | 长度 | slug 部分最多 5 个单词 |
87
+ | 编号 | 保留完整编号 |
88
+ | slug | 英文翻译,lowercase kebab-case,最多 5 词 |
151
89
  | 字符 | 仅 `[a-z0-9-/]` |
152
- | issue 后缀 | 当需求关联了 Git 平台 issue 时,末尾追加 `-i<N>`(如 `feat/REQ-001-user-points-i12`) |
90
+ | issue 后缀 | 关联 issue 时追加 `-i<N>` |
153
91
 
154
92
  ---
155
93
 
@@ -157,253 +95,59 @@ docs/requirements/modules/<模块名>.md
157
95
 
158
96
  ### 读取需求定义
159
97
 
160
- 加载需求文档的业务定义章节,作为实现方案的输入:
161
-
162
- | 章节 | 用途 |
163
- |------|------|
164
- | 一、需求描述 | 理解背景和目标 |
165
- | 二、功能清单 | 确定开发范围和功能点 |
166
- | 三、业务规则 | 数据校验、状态转换、权限控制 |
167
- | 四、使用场景 | 理解用户操作流程 |
168
- | 五、接口需求 | 接口能力和业务语义(技术方案在实现阶段生成) |
169
- | 六、测试要点 | 后续测试参考 |
98
+ 加载需求文档的核心章节(需求描述、功能清单、业务规则、使用场景、接口需求、测试要点)。
170
99
 
171
100
  ### 读取领域规约(Specs)
172
101
 
173
- 读取需求文档后,检查项目是否存在领域规约:
174
-
175
- - **primary 仓库**:扫描 `docs/requirements/specs/` 目录,读取所有 `.md` 文件
176
- - **readonly 仓库**:读取 `~/.claude-requirements/projects/<requirementProject>/specs/`(`requirementProject` 取自 `.claude/settings.local.json`)
177
-
178
- 目录存在且有文件 → 全部读取,作为开发约束注入上下文,不打印提示。
179
- 目录不存在或为空 → 静默跳过。
180
-
181
- ---
102
+ primary 扫描 `docs/requirements/specs/`,readonly 读缓存中的 `specs/`。有文件则全部读取注入上下文,无则静默跳过。
182
103
 
183
104
  ### 检查已有实现方案
184
105
 
185
- 检查需求文档「十一、实现方案」章节:
186
-
187
- - **已有完整内容**(非占位文本)直接展示,请用户确认是否沿用
188
- - **无内容或仅占位文本** → 进入方案生成流程
189
- - **带 `--reset` 标志** → 忽略已有内容,重新生成
106
+ - 已有内容 → 展示,确认是否沿用
107
+ - 无内容/占位 → 进入方案生成
108
+ - `--reset`重新生成
190
109
 
191
110
  ---
192
111
 
193
112
  ## 四、生成实现方案(Plan Mode)
194
113
 
195
- 进入 Plan Mode,基于需求定义和代码分析生成实现方案。
196
-
197
- **根据项目类型选择对应的方案生成流程**:
198
-
199
- ---
200
-
201
- ### 后端项目方案
202
-
203
- > **前置步骤**:读取 docs/prompt/architecture.md,获取分层架构表、目录结构、命名规范。
204
- > 步骤 5 未找到该文件时已输出警告,此处仍继续但方案可能不够准确。
114
+ > 进入 Plan Mode,根据项目类型选择方案生成流程。
205
115
 
206
- #### 4.1 数据模型(11.1)
116
+ ### 后端项目
207
117
 
208
- 分析需求中涉及的数据实体,生成:
118
+ **4.1 数据模型(11.1)**:新增表、修改表、实体关系。
209
119
 
210
- > **需要生成 migration SQL 时(后端 / 全栈项目)**,从前置准备步骤 5 已加载的 Skills 中解析 `MIGRATIONS_DIR`:
211
- > 1. 已加载 `.claude/skills/migration.md` → 取其 `MIGRATIONS_DIR` 值
212
- > 2. 未配置 → 自动检测(`db/migrations`、`database/migrations`、`migrations`、`src/migrations`)
213
- > 3. 兜底:`docs/migrations`
214
- >
215
- > **未找到 `MIGRATIONS_DIR` 配置时**,打印一次警告(非阻塞,继续执行):
216
- >
217
- > ```
218
- > ⚠️ 未找到 .claude/skills/migration.md,当前使用 MIGRATIONS_DIR=<auto-detected or default>
219
- > 如需固定路径,创建 .claude/skills/migration.md 并写入:
220
- > - **MIGRATIONS_DIR**: `<路径>`
221
- > ```
222
- >
223
- > SQL 文件写入路径:`$MIGRATIONS_DIR/<req-id>-<描述>.sql`
120
+ **Migration SQL**:从前置加载的 Skills 中解析 `MIGRATIONS_DIR`,未配置时自动检测(`db/migrations`、`database/migrations` 等),兜底 `docs/migrations`。未找到配置时打印非阻塞警告。
224
121
 
225
- ```markdown
226
- ### 11.1 数据模型
122
+ **4.2 API 设计(11.2)**:基于第五章接口需求的业务语义,结合项目代码和 API 风格生成技术方案。
227
123
 
228
- #### 新增表
124
+ **4.3 文件改动清单(11.3)**:按 architecture.md 分层架构表顺序列出。
229
125
 
230
- | 表名 | 说明 | 关键字段 |
231
- |------|------|---------|
232
- | xxx_table | 描述 | field1, field2 |
233
-
234
- #### 修改表
235
-
236
- | 表名 | 变更 | 说明 |
237
- |------|------|------|
238
- | existing_table | 新增 field_x | 用于 xxx |
239
-
240
- #### 实体关系
241
-
242
- 描述表间关联(一对多、多对多等)
243
- ```
244
-
245
- **检查要点**(根据 architecture.md 中的开发规范补充具体检查项):
246
- - 字段类型和约束与业务规则一致
247
- - 索引设计(查询场景驱动)
248
- - architecture.md 中定义的其他数据模型规范(如多租户字段、审计字段等)
249
-
250
- #### 4.2 API 设计(11.2)
251
-
252
- 基于第五章「接口需求」的业务语义,结合项目代码和 CLAUDE.md API 风格,生成具体技术方案:
253
-
254
- ```markdown
255
- ### 11.2 API 设计
256
-
257
- | 接口 | 方法 | 路径 | 请求参数 | 响应 | 说明 |
258
- |------|------|------|---------|------|------|
259
- | 创建XXX | POST | /api/v1/xxx | { field1, field2 } | { id, ... } | 业务说明 |
260
- | 查询XXX | GET | /api/v1/xxx | ?page&size&filter | { list, total } | 业务说明 |
261
- ```
262
-
263
- **生成依据**:
264
- - 路径风格:遵循 architecture.md 中的 API 风格(RESTful / GraphQL 等)
265
- - 参数设计:从业务规则中的数据校验提取字段约束
266
- - 错误码:按项目规范定义异常响应
267
-
268
- #### 4.3 文件改动清单(11.3)
269
-
270
- **按 docs/prompt/architecture.md 中定义的分层架构表顺序**列出需要新增/修改的文件:
271
-
272
- ```markdown
273
- ### 11.3 文件改动清单
274
-
275
- | 层级 | 文件路径 | 操作 | 改动说明 |
276
- |------|---------|------|---------|
277
- | <层1名称> | <CLAUDE.md中的目录>/xxx.<ext> | 新增 | <层1职责> |
278
- | <层2名称> | <CLAUDE.md中的目录>/xxx.<ext> | 新增 | <层2职责> |
279
- | ... | ... | ... | ... |
280
- ```
281
-
282
- **文件命名**:遵循 architecture.md 中定义的文件命名规范。
283
-
284
- #### 4.4 实现步骤(11.4)
285
-
286
- **按 architecture.md 分层架构的顺序**拆解为有序步骤,每层一个步骤:
287
-
288
- ```markdown
289
- ### 11.4 实现步骤
290
-
291
- - [ ] 步骤 1:实现 <层1名称>(<层1职责>)
292
- - 根据 CLAUDE.md 开发规范列出具体任务
293
-
294
- - [ ] 步骤 2:实现 <层2名称>(<层2职责>)
295
- - ...
296
-
297
- - [ ] 步骤 N:实现 <层N名称>(<层N职责>)
298
- - ...
299
- ```
300
-
301
- **关键原则**:步骤数量和名称完全由 architecture.md 的分层架构表决定,不硬编码任何层级。
302
-
303
- ---
126
+ **4.4 实现步骤(11.4)**:按分层架构顺序拆解,每层一个步骤。
304
127
 
305
- ### 前端项目方案
128
+ ### 前端项目
306
129
 
307
- 前端项目**不做分层架构引导**,聚焦于把交互逻辑和接口映射说清楚,具体实现交给项目自身的技能和规范。
130
+ 不按分层架构引导,聚焦交互逻辑和接口映射。
308
131
 
309
- #### 4.1 接口映射(11.1
132
+ **4.1 接口映射(11.1)**:读取第五章交互逻辑,按优先级匹配后端接口:关联后端 REQ → specs → Swagger/OpenAPI → 推断(标注待确认)。
310
133
 
311
- **自动匹配接口**:读取需求文档第五章「前端:交互逻辑」中的每个操作,按以下优先级匹配后端接口:
134
+ **4.2 文件改动清单(11.3)**:列出页面和组件,不按架构层级。
312
135
 
313
- 1. **关联后端 REQ**:十、关联信息中的关联需求 → 读取其 11.2 API 设计
314
- 2. **规范文档 specs**:`docs/requirements/specs/` 或缓存中的接口契约
315
- 3. **Swagger/OpenAPI**:项目配置的 API 文档源(如有)
316
- 4. **都未找到**:根据交互逻辑的数据需求推断接口签名,标注 `⚠️ 待确认`
136
+ **4.3 实现步骤(11.4)**:按功能点拆解,不按技术层。
317
137
 
318
- ```markdown
319
- ### 11.1 接口映射
138
+ ### 全栈项目
320
139
 
321
- | 页面/操作 | 用户行为 | 匹配接口 | 请求参数 | 响应字段 | 来源 |
322
- |----------|---------|---------|---------|---------|------|
323
- | 订单列表 | 进入页面 | GET /api/v1/orders | page, size | list, total | 后端 REQ-001 |
324
- | 搜索 | 输入关键词 | GET /api/v1/orders | keyword, status | list, total | 后端 REQ-001 |
325
- | 审核按钮 | 点击通过/驳回 | POST /api/v1/orders/:id/audit | action, reason | result | 后端 REQ-001 |
326
- | 导出 | 点击导出 | GET /api/v1/orders/export | 同搜索条件 | 文件下载 | ⚠️ 待确认 |
327
- ```
328
-
329
- **每个映射必须包含**:
330
- - **匹配接口**:方法 + 路径(匹配到的写实际接口,未匹配到的写推断值并标注)
331
- - **请求参数**:从交互逻辑���「数据需求」提取
332
- - **响应字段**:页面展示需要的字段
333
- - **来源**:标注接口来源(哪个 REQ / spec / swagger),方便联调时追溯
334
-
335
- #### 4.2 文件改动清单(11.3)
336
-
337
- 列出涉及的页面和组件,不做架构层级约束:
338
-
339
- ```markdown
340
- ### 11.3 文件改动清单
341
-
342
- | 文件路径 | 操作 | 改动说明 |
343
- |---------|------|---------|
344
- | src/pages/xxx.vue | 新增 | xxx 页面 |
345
- | src/components/xxx.vue | 新增 | xxx 组件 |
346
- | src/api/xxx.ts | 新增/修改 | 接口定义 |
347
- ```
348
-
349
- #### 4.3 实现步骤(11.4)
350
-
351
- 按功能点拆解步骤,**不按技术层拆分**:
352
-
353
- ```markdown
354
- ### 11.4 实现步骤
355
-
356
- - [ ] 步骤 1:实现 xxx 功能
357
- - 需要开发的页面/组件
358
- - 调用的接口和数据处理
359
- - 交互细节和异常处理
360
-
361
- - [ ] 步骤 2:实现 yyy 功能
362
- - ...
363
- ```
364
-
365
- **关键原则**:功能点描述清楚后,按项目自身的技能、组件库、代码规范来实现,dev-guide 不约束前端技术栈细节。
366
-
367
- ---
368
-
369
- ### 全栈项目方案
370
-
371
- 分两部分生成:后端部分按分层架构引导,前端部分按功能点引导。
372
-
373
- ```markdown
374
- ### 11.1 数据模型
375
- (按后端项目方案的 11.1 格式)
376
-
377
- ### 11.2 API 设计
378
- (按后端项目方案的 11.2 格式)
379
-
380
- ### 11.3 文件改动清单
381
- (后端 + 前端文件合并列出)
382
-
383
- ### 11.4 实现步骤
384
- (建议先后端再前端,后端按分层、前端按功能点)
385
- ```
386
-
387
- ---
140
+ 后端分层 + 前端功能点,分两部分生成。建议先后端再前端。
388
141
 
389
142
  ### 方案确认
390
143
 
391
- 实现方案生成后:
392
- 1. 展示完整方案供用户审核
393
- 2. 用户确认后,将方案写入需求文档「十一、实现方案」章节(仅 `primary` 仓库,`readonly` 仓库不写入)
144
+ 展示完整方案 → 用户确认 → 写入需求文档十一章(仅 primary)。
394
145
 
395
146
  ---
396
147
 
397
- ## 五、状态更新
398
-
399
- > 仅 `primary` 仓库执行,`readonly` 仓库跳过此步骤(不修改需求文档)。
400
-
401
- | 场景 | 操作 |
402
- |------|------|
403
- | 首次进入开发(状态为评审通过/草稿) | 状态改为「🔨 开发中」 |
404
- | 继续开发(状态已是开发中/测试中) | 状态不变 |
148
+ ## 五、状态更新(仅 primary)
405
149
 
406
- 状态更新时同步更新需求文档中的「生命周期」章节。
150
+ 首次进入开发 → 状态改为「开发中」。继续开发 → 状态不变。同步更新生命周期章节。
407
151
 
408
152
  ---
409
153
 
@@ -411,119 +155,50 @@ docs/requirements/modules/<模块名>.md
411
155
 
412
156
  ### 生成任务列表
413
157
 
414
- 根据实现步骤(11.4)生成 TodoWrite 任务列表,每个步骤对应一个任务。
158
+ 根据实现步骤(11.4)生成 TodoWrite 任务列表。
415
159
 
416
- ---
417
-
418
- ### 后端开发规范
419
-
420
- > **从 CLAUDE.md 读取**:以下规范从 docs/prompt/architecture.md 的「开发规范」章节获取。
421
- > 不同项目的规范不同,此处仅定义检查框架。
422
-
423
- 按 docs/prompt/architecture.md 分层架构表中定义的顺序逐层实现。
424
-
425
- **每层实现时**:
426
- 1. 读取 architecture.md 中该层的目录路径和命名规范
427
- 2. 读取 architecture.md 中的开发规范(错误处理、日志、API 风格等)
428
- 3. 按规范实现代码
429
-
430
- #### 后端检查清单
431
-
432
- 每层实现后,根据 CLAUDE.md「开发规范」章节核对:
433
-
434
- - [ ] 文件命名遵循项目规范
435
- - [ ] 错误处理遵循项目规范
436
- - [ ] 日志规范
437
- - [ ] API/接口规范
438
- - [ ] architecture.md 中定义的其他规范项
439
-
440
- ---
441
-
442
- ### 前端开发引导
443
-
444
- 前端开发**不做技术栈层面的约束**,按功能点逐个实现:
160
+ ### 后端规范
445
161
 
446
- 1. **读取项目自身的技能和规范**:检查项目的 CLAUDE.md、skills/ 目录,了解项目的组件库、代码规范、目录结构等约定
447
- 2. **按功能点顺序开发**:每个功能点作为一个独立任务
448
- 3. **关注业务逻辑正确性**:确保交互行为、接口调用、异常处理与需求描述一致
162
+ architecture.md 分层架构表顺序逐层实现。每层:读目录路径和命名规范 → 读开发规范 → 按规范实现。
449
163
 
450
- #### 前端检查清单
164
+ 检查清单:文件命名、错误处理、日志、API 规范、architecture.md 中定义的其他规范项。
451
165
 
452
- 每个功能点完成后核对:
166
+ ### 前端规范
453
167
 
454
- - [ ] 交互行为与需求描述一致
455
- - [ ] 接口调用正确(路径、参数、响应处理)
456
- - [ ] 异常状态处理(加载中、空数据、错误提示)
457
- - [ ] 遵循项目自身的代码规范和组件约定
168
+ 按功能点顺序开发,不做技术栈约束。关注:交互行为正确性、接口调用、异常处理、遵循项目代码规范。
458
169
 
459
170
  ---
460
171
 
461
- ## 七、开发中文档维护
462
-
463
- > 仅 `primary` 仓库执行,`readonly` 仓库跳过此步骤(不修改需求文档)。
464
-
465
- 开发过程中需求文档应保持与实际开发同步。
172
+ ## 七、开发中文档维护(仅 primary)
466
173
 
467
174
  ### AI 主动发现偏差
468
175
 
469
- 开发过程中如果发现实际情况与需求文档不一致,**主动提示用户**:
470
-
471
- | 发现场景 | 涉及章节 | 处理方式 |
472
- |---------|---------|---------|
473
- | 代码中存在需求未描述的业务规则 | 三、业务规则 | 提示用户确认后补充 |
474
- | 实现中需要额外功能点 | 二、功能清单 | 提示用户确认后追加 |
475
- | 数据需求或交互逻辑有调整 | 五、数据与交互 | 提示用户确认后更新 |
476
- | 发现新的异常场景 | 六、测试要点 | 提示用户确认后补充 |
477
- | 实现步骤/文件清单有调整 | 十一、实现方案 | 直接更新,无需确认 |
176
+ | 场景 | 涉及章节 | 处理 |
177
+ |------|---------|------|
178
+ | 代码中有文档未描述的业务规则 | 三、业务规则 | 确认后补充 |
179
+ | 需要额外功能点 | 二、功能清单 | 确认后追加 |
180
+ | 数据/交互调整 | 五、数据与交互 | 确认后更新 |
181
+ | 新的异常场景 | 六、测试要点 | 确认后补充 |
182
+ | 实现步骤/文件调整 | 十一、实现方案 | 直接更新 |
478
183
 
479
184
  ### 修改规则
480
185
 
481
- - **一~六章**:修改前提示用户确认,确认后同时在「九、变更记录」追加一条记录(日期、变更内容、影响范围)
482
- - **十一章**:开发过程中可直接更新(步骤调整、文件增减等属于实现细节)
483
- - **格式约束不变**:修改仍须遵循模板结构
484
-
485
- ### 用户主动修改
486
-
487
- 用户在开发过程中说"更新功能清单"、"加一条业务规则"等,按上述规则直接修改对应章节。
186
+ 一~六章:确认后修改,同步追加变更记录。十一章:可直接更新。格式约束不变。
488
187
 
489
188
  ---
490
189
 
491
190
  ## 八、进度跟踪
492
191
 
493
- ### 更新规则
494
-
495
- 每完成一个实现步骤:
496
-
497
- 1. **TodoWrite 任务状态** → 标记为 completed
498
- 2. **需求文档 checkbox** → `- [ ]` 改为 `- [x]`(仅 `primary` 仓库,`readonly` 仓库跳过)
499
-
500
- ### 开发概览格式
501
-
502
- ```
503
- REQ-001 需求标题
504
-
505
- 进度:2/N 步骤已完成
506
- 实现步骤:
507
- - [x] 步骤 1:实现 <层1>
508
- - [x] 步骤 2:实现 <层2>
509
- - [ ] 步骤 3:实现 <层3> ← 当前
510
- - [ ] ...
511
- ```
192
+ 每完成一个步骤:标记 TodoWrite completed → 更新需求文档 checkbox(仅 primary)。
512
193
 
513
194
  ---
514
195
 
515
196
  ## 九、开发完成
516
197
 
517
- 所有步骤完成后输出摘要:
198
+ 所有步骤完成后输出摘要(步骤数、新增/修改文件数),提示下一步 `/req:test`。
518
199
 
519
- ```
520
- 开发完成!
200
+ ---
521
201
 
522
- REQ-001 部门渠道关联
523
- - 实现步骤:5/5
524
- - 新增文件:4 个
525
- - 修改文件:1 个
202
+ ## 用户输入
526
203
 
527
- 下一步:
528
- - /req:test REQ-001 - 进入测试
529
- ```
204
+ $ARGUMENTS
@@ -11,7 +11,7 @@ description: 智能开发 - AI 分析意图,自动选择流程,生成方案
11
11
  > 此命令**不受仓库角色限制**,readonly 仓库也可执行。
12
12
  > 不触发缓存同步(无需求文档)。
13
13
  >
14
- > **CLI 优先级**:GitHub 用 `gh`;Gitea 按 [`_gitea_cli.md`](./_gitea_cli.md) 检测 `tea`,可用即走 `tea`,否则回退本文 curl 示例。
14
+ > **CLI 优先级**:GitHub 用 `gh`;Gitea 按 `_gitea_cli.md` 检测 `tea`,可用即走 `tea`,否则回退本文 curl 示例。
15
15
 
16
16
  ## 命令格式
17
17
 
@@ -7,9 +7,9 @@ description: 完成需求 - 标记完成并归档
7
7
 
8
8
  标记需求为已完成,归档文档。
9
9
 
10
- > 存储路径和缓存同步规则见 [_storage.md](./_storage.md)
10
+ > 存储路径和缓存同步规则见 `_storage.md`
11
11
  >
12
- > **CLI 优先级**:GitHub 走 `gh`;Gitea 按 [`_gitea_cli.md`](./_gitea_cli.md) 检测 `tea`,可用即走 `tea pulls create` / `tea issues close`,否则回退本文 curl 示例。
12
+ > **CLI 优先级**:GitHub 走 `gh`;Gitea 按 `_gitea_cli.md` 检测 `tea`,可用即走 `tea pulls create` / `tea issues close`,否则回退本文 curl 示例。
13
13
 
14
14
  ## 命令格式
15
15
 
@@ -7,7 +7,7 @@ description: 编辑需求 - 修改已有需求文档
7
7
 
8
8
  编辑已有需求文档,仅修改内容,不触发开发流程。
9
9
 
10
- > 存储路径和缓存同步规则见 [_storage.md](./_storage.md)
10
+ > 存储路径和缓存同步规则见 `_storage.md`
11
11
 
12
12
  ## 命令格式
13
13
 
@@ -11,7 +11,7 @@ description: 轻量修复 - 无文档的 bug 修复流程,AI 辅助定位问
11
11
  > 此命令**不受仓库角色限制**,readonly 仓库也可执行。
12
12
  > 不触发缓存同步(无需求文档)。
13
13
  >
14
- > **CLI 优先级**:GitHub 用 `gh`;Gitea 按 [`_gitea_cli.md`](./_gitea_cli.md) 检测 `tea`,可用即走 `tea`,否则回退本文 curl 示例。
14
+ > **CLI 优先级**:GitHub 用 `gh`;Gitea 按 `_gitea_cli.md` 检测 `tea`,可用即走 `tea`,否则回退本文 curl 示例。
15
15
 
16
16
  ## 命令格式
17
17