dev-playbooks-cn 2.5.3 → 2.6.0

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 (32) hide show
  1. package/CHANGELOG.md +50 -1
  2. package/README.md +15 -6
  3. package/bin/devbooks.js +5 -9
  4. package/package.json +1 -1
  5. package/scripts/config-discovery.sh +1 -1
  6. package/scripts/detect-mcp.sh +86 -0
  7. package/skills/_shared/MCP/345/242/236/345/274/272/346/250/241/346/235/277.md +17 -127
  8. package/skills/_shared/references//344/272/272/347/261/273/345/273/272/350/256/256/346/240/241/345/207/206/346/217/220/347/244/272/350/257/215.md +27 -0
  9. package/skills/devbooks-archiver/SKILL.md +27 -413
  10. package/skills/devbooks-archiver/references//345/275/222/346/241/243/346/265/201/347/250/213/344/270/216/350/247/204/345/210/231.md +401 -0
  11. package/skills/devbooks-brownfield-bootstrap/SKILL.md +34 -35
  12. package/skills/devbooks-brownfield-bootstrap/scripts/cod-update.sh +0 -2
  13. package/skills/devbooks-coder/SKILL.md +25 -18
  14. package/skills/devbooks-convergence-audit/SKILL.md +26 -382
  15. package/skills/devbooks-convergence-audit/references//346/224/266/346/225/233/346/200/247/345/256/241/350/256/241/347/273/206/345/210/231.md +384 -0
  16. package/skills/devbooks-delivery-workflow/SKILL.md +31 -225
  17. package/skills/devbooks-delivery-workflow/references//347/274/226/346/216/222/347/246/201/344/273/244/344/270/216/351/230/266/346/256/265/350/241/250.md +185 -0
  18. package/skills/devbooks-design-doc/SKILL.md +19 -4
  19. package/skills/devbooks-docs-consistency/SKILL.md +19 -6
  20. package/skills/devbooks-entropy-monitor/SKILL.md +19 -6
  21. package/skills/devbooks-impact-analysis/SKILL.md +25 -12
  22. package/skills/devbooks-implementation-plan/SKILL.md +19 -6
  23. package/skills/devbooks-proposal-author/SKILL.md +19 -4
  24. package/skills/devbooks-proposal-challenger/SKILL.md +19 -6
  25. package/skills/devbooks-proposal-judge/SKILL.md +19 -6
  26. package/skills/devbooks-reviewer/SKILL.md +20 -7
  27. package/skills/devbooks-router/SKILL.md +26 -333
  28. package/skills/devbooks-router/references//350/267/257/347/224/261/350/247/204/345/210/231/344/270/216/346/250/241/346/235/277.md +317 -0
  29. package/skills/devbooks-spec-contract/SKILL.md +19 -6
  30. package/skills/devbooks-test-owner/SKILL.md +30 -29
  31. package/skills/devbooks-test-reviewer/SKILL.md +19 -10
  32. package/templates/dev-playbooks/README.md +1 -9
@@ -13,416 +13,30 @@ allowed-tools:
13
13
 
14
14
  # DevBooks:归档器(Archiver)
15
15
 
16
- ## 🚨 绝对禁令(ABSOLUTE RULES)
17
-
18
- > **这些规则没有例外,违反即失败。**
19
-
20
- ### 禁令 1:禁止跳过脚本验证
21
-
22
- ```
23
- ❌ 禁止:不运行 change-check.sh 就执行归档
24
- 禁止:change-check.sh 返回非零就继续归档
25
- ❌ 禁止:手动跳过或绕过脚本检查
26
-
27
- 必须:归档前运行 change-check.sh --mode strict
28
- ✅ 必须:脚本返回 0 才能继续
29
- ✅ 必须:脚本失败时停止并输出完整错误信息
30
- ```
31
-
32
- ### 禁令 2:禁止假完成归档
33
-
34
- ```
35
- 禁止:evidence/green-final/ 不存在或为空时归档
36
- 禁止:verification.md AC 覆盖率 < 100% 时归档
37
- 禁止:tasks.md 存在未完成任务时归档
38
-
39
- 必须:所有检查项全部通过
40
- 必须:Green 证据目录非空
41
- 必须:AC 覆盖率 100%
42
- ```
43
-
44
- ---
45
-
46
- ## 工作流位置感知(Workflow Position Awareness)
47
-
48
- > **核心原则**:Archiver 是归档阶段的**唯一入口**,负责完成从代码评审到变更包归档的所有收尾工作。
49
-
50
- ### 我在整体工作流中的位置
51
-
52
- ```
53
- proposal → design → test-owner(P1) → coder → test-owner(P2) → code-review → [Archiver]
54
-
55
- 自动回写 → 规格合并 → 文档检查 → 移动归档
56
- ```
57
-
58
- ### 为什么重命名为 Archiver?
59
-
60
- | 旧名称 | 新名称 | 变更原因 |
61
- |--------|--------|----------|
62
- | `spec-gardener` | `archiver` | 职责已扩展,不仅是规格合并,而是完整的归档闭环 |
63
-
64
- ### Archiver 的完整职责
65
-
66
- | 阶段 | 职责 | 说明 |
67
- |------|------|------|
68
- | 1 | 设计回写(Design Backport) | 检测实现过程中的新约束/冲突/缺口,回写到 design.md |
69
- | 2 | 规格合并 | 将 specs/contracts 合并到 truth-root |
70
- | 3 | 架构合并 | 将 design.md 的 Architecture Impact 合并到 c4.md |
71
- | 4 | 文档同步检查 | 检查 design.md 的 Documentation Impact 是否已处理 |
72
- | 5 | 变更包归档移动 | 将变更包移动到 `<change-root>/archive/` |
73
-
74
- **注意**:Archiver 现在承担了原 `devbooks-design-backport` skill 的职责,作为归档闭环的一部分自动执行。
75
-
76
- ---
77
-
78
- ## 前置:配置发现(协议无关)
79
-
80
- - `<truth-root>`:当前真理目录根
81
- - `<change-root>`:变更包目录根
82
-
83
- 执行前**必须**按以下顺序查找配置(找到后停止):
84
- 1. `.devbooks/config.yaml`(如存在)→ 解析并使用其中的映射
85
- 2. `dev-playbooks/project.md`(如存在)→ Dev-Playbooks 协议,使用默认映射
86
- 3. `project.md`(如存在)→ template 协议,使用默认映射
87
- 4. 若仍无法确定 → **停止并询问用户**
88
-
89
- **关键约束**:
90
- - 如果配置中指定了 `agents_doc`(规则文档),**必须先阅读该文档**再执行任何操作
91
- - 禁止猜测目录根
92
- - 禁止跳过规则文档阅读
93
-
94
- ---
95
-
96
- ## 归档完整流程
97
-
98
- ### 第 0 步:运行强制验证脚本(MANDATORY)
99
-
100
- > **这是归档的第一个动作,不可跳过。**
101
-
102
- ```bash
103
- # 必须运行此命令
104
- change-check.sh <change-id> --mode strict
105
- ```
106
-
107
- **执行规则**:
108
-
109
- | 脚本返回值 | 行为 |
110
- |-----------|------|
111
- | `0` (成功) | 继续执行后续步骤 |
112
- | 非零 (失败) | **立即停止**,输出完整错误信息,不执行任何归档操作 |
113
-
114
- **脚本检查内容**(--mode strict):
115
-
116
- - 变更包存在性
117
- - verification.md 状态和 AC 覆盖率
118
- - evidence/green-final/ 存在且非空
119
- - tasks.md 任务完成率
120
- - 所有闸门检查
121
-
122
- **失败时的输出格式**:
123
-
124
- ```
125
- ❌ 归档前置检查失败
126
-
127
- 脚本输出:
128
- <change-check.sh 的完整输出>
129
-
130
- 建议操作:
131
- - 根据上述错误修复问题
132
- - 重新运行 change-check.sh --mode strict
133
- - 确认所有检查通过后再次尝试归档
134
- ```
135
-
136
- ### 第 1 步:前置检查(脚本通过后的二次确认)
137
-
138
- ```markdown
139
- 前置检查清单(验证脚本已检查,此为二次确认):
140
- - [ ] 变更包存在(<change-root>/<change-id>/)
141
- - [ ] verification.md Status = Ready 或 Done
142
- - [ ] evidence/green-final/ 存在且非空
143
- - [ ] tasks.md 所有任务已完成([x])
144
- - [ ] 代码评审已通过(verification.md Status = Done 由 Reviewer 设置)
145
- ```
146
-
147
- 若检查失败 → 停止并输出缺失项,建议用户先完成前置步骤。
148
-
149
- ### 第 2 步:自动回写检测与处理
150
-
151
- > **设计决策**:归档阶段自动处理所有未回写的偏离,用户无需手动调用 design-backport。
152
-
153
- **检测流程**:
154
-
155
- ```
156
- 1. 读取 <change-root>/<change-id>/deviation-log.md
157
- 2. 检查是否有 "| ❌" 未回写记录
158
- → 有:执行自动回写(步骤 3-5)
159
- → 无:跳过,直接进入合并阶段
160
-
161
- 3. 对每条未回写记录,判断是否为 Design-level 内容:
162
- - DESIGN_GAP, CONSTRAINT_CHANGE, API_CHANGE → 需要回写
163
- - 纯实现细节(文件名/类名/临时步骤) → 不回写,标记为 IMPL_ONLY
164
-
165
- 4. 执行设计回写:
166
- - 读取 design.md
167
- - 按 design-backport 协议的"可回写内容范围"更新
168
- - 在 design.md 末尾添加变更记录
169
-
170
- 5. 更新 deviation-log.md:
171
- - 将已回写的记录标记为 ✅
172
- - 记录回写时间和归档批次
173
- ```
174
-
175
- **自动回写的内容范围**(继承自 design-backport):
176
-
177
- | 可回写 | 不可回写 |
178
- |--------|----------|
179
- | 对外语义/用户可感知行为 | 具体文件路径、类名/函数名 |
180
- | 系统级不可变约束(Invariants) | PR 切分、任务执行顺序 |
181
- | 核心数据契约与演进策略 | 过细的算法伪代码 |
182
- | 跨阶段治理策略 | 脚本命令 |
183
- | 关键取舍与决策 | 表名/字段名 |
184
-
185
- ### 第 3 步:规格合并
186
-
187
- 将变更包中的规格产物合并到 `<truth-root>`:
188
-
189
- | 源路径 | 目标路径 | 合并策略 |
190
- |--------|----------|----------|
191
- | `<change-root>/<change-id>/specs/**` | `<truth-root>/specs/**` | 增量合并 |
192
- | `<change-root>/<change-id>/contracts/**` | `<truth-root>/contracts/**` | 版本化合并 |
193
-
194
- **Spec 元信息更新**(合并时必须执行):
195
-
196
- 在合并 spec 到 truth-root 时,必须更新以下元信息:
197
-
198
- ```yaml
199
- # 在每个被合并/引用的 spec 文件头部更新
200
- ---
201
- last_referenced_by: <change-id> # 最后引用此 spec 的变更包
202
- last_verified: <归档日期> # 最后验证日期
203
- health: active # 健康状态:active | stale | deprecated
204
- ---
205
- ```
206
-
207
- **元信息更新规则**:
208
-
209
- | 场景 | 更新行为 |
210
- |------|----------|
211
- | 新增 Spec | 创建完整元信息头 |
212
- | 修改已有 Spec | 更新 `last_referenced_by` 和 `last_verified` |
213
- | Spec 被设计文档引用但未修改 | 仅更新 `last_referenced_by` |
214
- | 标记为废弃 | 设置 `health: deprecated` |
215
-
216
- **建立引用追溯链**:
217
-
218
- 归档时,archiver 会自动扫描 design.md 中声明的 "受影响的 Spec"(Affected Specs),并更新这些 Spec 的 `last_referenced_by` 字段,即使它们没有被直接修改。这建立了从 Spec 到变更包的反向追溯链。
219
-
220
- ### 第 4 步:架构合并
221
-
222
- > **设计决策**:C4 架构变更通过 design.md 的 Architecture Impact 章节记录,由 Archiver 在归档时合并到真理。
223
-
224
- **C4 合并流程**:
225
-
226
- 1. **检测架构变更**:解析 `design.md` 中的 "Architecture Impact" 章节
227
- 2. **判断是否需要合并**:
228
- - 若 "无架构变更" 被勾选 → 跳过合并
229
- - 若 "有架构变更" → 执行合并
230
- 3. **执行合并**:
231
- - 读取 `<truth-root>/architecture/c4.md`(若不存在则创建)
232
- - 根据 Architecture Impact 中的变更描述更新对应章节
233
- - 更新 Container/Component 表格
234
- - 更新依赖关系
235
- - 更新分层约束(如有变更)
236
- 4. **记录合并日志**:在 c4.md 末尾添加变更记录
237
-
238
- ### 第 5 步:文档一致性检查
239
-
240
- 在归档前运行文档一致性检查:
241
-
242
- ```
243
- devbooks-docs-consistency --check
244
- ```
245
-
246
- 检查结果仅记录与提示,不阻塞归档。
247
-
248
- ---
249
-
250
- ### 第 6 步:文档同步检查
251
-
252
- 检查 design.md 的 "Documentation Impact" 章节:
253
-
254
- ```markdown
255
- 检查项:
256
- - [ ] 若声明了"需要更新的文档",验证这些文档已更新
257
- - [ ] 若勾选了"无需更新",确认合理性
258
- - [ ] 输出文档同步状态报告
259
- ```
260
-
261
- **若有未处理的文档更新**:
262
- - 输出警告,列出需要更新的文档
263
- - 不阻塞归档,但在归档报告中标记为 "文档待更新"
264
-
265
- ### 第 7 步:变更包归档移动(新增)
266
-
267
- 将已完成的变更包移动到归档目录:
268
-
269
- ```bash
270
- # 源路径
271
- <change-root>/<change-id>/
272
-
273
- # 目标路径
274
- <change-root>/archive/<change-id>/
275
- ```
276
-
277
- **移动流程**:
278
-
279
- 1. **创建归档目录**(如不存在):`<change-root>/archive/`
280
- 2. **设置最终状态**:在 verification.md 中设置 `Status: Archived`
281
- 3. **添加归档时间戳**:在 verification.md 末尾添加 `Archived-At: <timestamp>`
282
- 4. **移动变更包**:`mv <change-root>/<change-id>/ <change-root>/archive/<change-id>/`
283
- 5. **输出归档完成报告**
284
-
285
- **verification.md 归档状态更新**:
286
-
287
- ```markdown
288
- ---
289
- status: Archived
290
- archived-at: 2024-01-16T10:30:00Z
291
- archived-by: devbooks-archiver
292
- ---
293
- ```
294
-
295
- ---
296
-
297
- ## 执行方式
298
-
299
- 1) 先阅读并遵守:`~/.claude/skills/_shared/references/AI行为规范.md`(可验证性 + 结构质量守门)。
300
- 2) 严格按完整提示词执行:`references/归档器提示词.md`。
301
-
302
- ---
303
-
304
- ## 上下文感知
305
-
306
- 本 Skill 在执行前自动检测上下文,选择合适的运行模式。
307
-
308
- 检测规则参考:`skills/_shared/上下文检测模板.md`
309
-
310
- ### 检测流程
311
-
312
- 1. 检测 `<truth-root>/` 目录状态
313
- 2. 若提供 change-id,检测变更包归档条件
314
- 3. 检测重复/过时规格(维护模式)
315
-
316
- ### 本 Skill 支持的模式
317
-
318
- | 模式 | 触发条件 | 行为 |
319
- |------|----------|------|
320
- | **归档模式** | 提供 change-id 且闸门通过 | 执行完整归档流程(7步:0-6) |
321
- | **维护模式** | 无 change-id | 执行 truth-root 去重、清理、整理 |
322
- | **检查模式** | 带 --dry-run 参数 | 只输出计划,不实际修改/移动 |
323
-
324
- ### 归档模式完整流程图
325
-
326
- ```
327
- ┌─────────────────────────────────────────────────────────────┐
328
- │ 归档模式流程 │
329
- ├─────────────────────────────────────────────────────────────┤
330
- │ │
331
- │ 0. 运行强制验证脚本(MANDATORY) │
332
- │ └─ change-check.sh <change-id> --mode strict │
333
- │ │ │
334
- │ ├─ 返回非零 → ❌ 停止,输出错误 │
335
- │ │ │
336
- │ ▼ 返回 0 │
337
- │ 1. 前置检查(二次确认) │
338
- │ ├─ 变更包存在? │
339
- │ ├─ verification.md Status = Ready/Done? │
340
- │ ├─ evidence/green-final/ 存在? │
341
- │ └─ tasks.md 全部完成? │
342
- │ │ │
343
- │ ▼ │
344
- │ 2. 自动回写 │
345
- │ ├─ 读取 deviation-log.md │
346
- │ ├─ 检测未回写记录 │
347
- │ └─ 执行回写 → 更新标记 │
348
- │ │ │
349
- │ ▼ │
350
- │ 3. 规格合并 │
351
- │ ├─ specs/** → truth-root/specs/** │
352
- │ └─ contracts/** → truth-root/contracts/** │
353
- │ │ │
354
- │ ▼ │
355
- │ 4. 架构合并 │
356
- │ └─ Architecture Impact → c4.md │
357
- │ │ │
358
- │ ▼ │
359
- │ 5. 文档同步检查 │
360
- │ └─ 检查 Documentation Impact 是否已处理 │
361
- │ │ │
362
- │ ▼ │
363
- │ 6. 变更包归档移动 │
364
- │ ├─ 设置 Status: Archived │
365
- │ └─ mv <change-id>/ → archive/<change-id>/ │
366
- │ │ │
367
- │ ▼ │
368
- │ ✅ 输出归档完成报告 │
369
- │ │
370
- └─────────────────────────────────────────────────────────────┘
371
- ```
372
-
373
- ### 检测输出示例
374
-
375
- ```
376
- 检测结果:
377
- - truth-root:存在,包含 12 个 spec 文件
378
- - 变更包:存在,闸门全绿
379
- - 回写状态:2 条待回写记录
380
- - 运行模式:归档模式(完整流程)
381
- ```
382
-
383
- ---
384
-
385
- ## 归档报告模板
386
-
387
- 归档完成后,输出以下报告:
388
-
389
- ```markdown
390
- ## 归档报告
391
-
392
- ### 变更包信息
393
- - Change ID: <change-id>
394
- - 归档时间: <timestamp>
395
-
396
- ### 执行摘要
397
- | 步骤 | 状态 | 说明 |
398
- |------|------|------|
399
- | 前置检查 | ✅ | 全部通过 |
400
- | 自动回写 | ✅ | 回写 2 条记录 |
401
- | 规格合并 | ✅ | 合并 3 个 spec 文件 |
402
- | 架构合并 | ⏭️ | 无架构变更 |
403
- | 文档检查 | ⚠️ | README.md 待更新 |
404
- | 归档移动 | ✅ | 已移动到 archive/ |
405
-
406
- ### 归档位置
407
- `<change-root>/archive/<change-id>/`
408
-
409
- ### 后续建议
410
- - [ ] 更新 README.md(文档检查警告)
411
- ```
412
-
413
- ---
414
-
415
- ## 维护模式职责
416
-
417
- 在维护模式下(无 change-id)执行:
418
-
419
- - 检测重复的规格定义
420
- - 清理过时/废弃的规格
421
- - 整理目录结构
422
- - 修复一致性问题
423
-
424
- ---
425
-
426
- ## MCP 说明
427
-
428
- 本 Skill 不依赖 MCP 服务,无需运行时检测。
16
+ ## 渐进披露
17
+ ### 基础层(必读)
18
+ 目标:完成归档闭环(回写、合并、检查、归档移动)。
19
+ 输入:<change-id>、<change-root>/<truth-root>、归档所需产物与证据。
20
+ 输出:归档报告、更新后的 specs/architecture、归档后的变更包路径。
21
+ 边界:不替代其他角色;不修改 tests/;未通过严格闸门不得归档。
22
+ 证据:change-check.sh 严格检查输出、归档报告、归档后的目录位置。
23
+
24
+ ### 进阶层(可选)
25
+ 适用:需要明确回写范围、合并策略或文档同步处理时。
26
+
27
+ ### 扩展层(可选)
28
+ 适用:需要维护模式、上下文检测或归档报告模板时。
29
+
30
+ ## 核心要点
31
+ - 归档阶段唯一入口:自动回写 → 规格/架构合并 → 文档检查 → 归档移动。
32
+ - 归档前必须通过 `change-check.sh <change-id> --mode strict`,失败即停止。
33
+ - 执行前完成配置发现并读取 `agents_doc` 规则文档。
34
+
35
+ ## 参考资料
36
+ - `skills/devbooks-archiver/references/归档流程与规则.md`:绝对禁令、归档 7 步流程、回写范围、合并规则、报告模板与维护模式。
37
+ - `skills/devbooks-archiver/references/归档器提示词.md`:完整提示词与执行约束。
38
+
39
+ ## 推荐 MCP 能力类型
40
+ - 代码检索(code-search)
41
+ - 引用追踪(reference-tracking)
42
+ - 影响分析(impact-analysis)