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