spec-canon 0.1.0 → 0.1.2
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/README.md +13 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/claude-md-section.md +1 -1
- package/templates/prompts/catalog.json +1 -1
- package/templates/prompts/daily/step1_requirement.md +6 -6
- package/templates/prompts/daily/step3_execute.md +11 -3
- package/templates/prompts/daily/step4_review.md +2 -2
- package/templates/prompts/guide.md +6 -6
package/README.md
CHANGED
|
@@ -48,6 +48,18 @@ domain_spec.md(演化更新)
|
|
|
48
48
|
| 🧑 人(研发工程师) | 决策、审阅、判断对不对 | 做判断题 |
|
|
49
49
|
| 🤖 AI(Coding Agent) | 生成、补全、确保全不全 | 做填空题 |
|
|
50
50
|
|
|
51
|
+
## 安装
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npm install -g spec-canon
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
或直接通过 `npx` 使用(无需全局安装):
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx spec-canon --help
|
|
61
|
+
```
|
|
62
|
+
|
|
51
63
|
## 快速开始
|
|
52
64
|
|
|
53
65
|
### 我要开始一个新项目
|
|
@@ -65,6 +77,7 @@ domain_spec.md(演化更新)
|
|
|
65
77
|
docs/
|
|
66
78
|
├── SOP.md ← 导航索引(入口)
|
|
67
79
|
├── guide/ ← 方法论(一次性阅读)
|
|
80
|
+
│ ├── 00_introduction.md SDD 框架综合介绍(对外发布用)
|
|
68
81
|
│ ├── 01_claude_md.md CLAUDE.md 书写指南
|
|
69
82
|
│ ├── 02_spec_overview.md 三层文档体系总览
|
|
70
83
|
│ ├── 03_spec_documents.md 各文档详解
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@ Change Spec 生成顺序(后者依赖前者作为上下文):
|
|
|
43
43
|
|
|
44
44
|
| 步骤 | 提示词 ID | 产出 | 人工审阅点 |
|
|
45
45
|
|---|---|---|---|
|
|
46
|
-
| Step 0 | `ctx`(`-d` 或 `-m`) | `00_context.md` |
|
|
46
|
+
| Step 0 | `ctx`(`-d` 或 `-m`) | `00_context.md` | 审阅系统现状快照,补充 AI 无法推断的技术约束和团队经验 |
|
|
47
47
|
| Step 1 | `req` | `01_requirement.md` | 审阅验收标准,Sign-off |
|
|
48
48
|
| Step 2 | `iface` → `impl-spec` → `test-spec` | `02` / `03` / `04` | 审阅接口设计、文件路径、步骤顺序 |
|
|
49
49
|
| Step 3 | `impl` | 分步编码 | 逐步确认,Gate 验证 |
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
若存在 @spec-canon/changes/{{CHANGE}}/00_context.md,请先阅读;否则跳过。
|
|
2
|
+
阅读以下 PRD,生成 spec-canon/changes/{{CHANGE}}/01_requirement.md。
|
|
3
3
|
要求:
|
|
4
4
|
1. AC 至少覆盖主流程 + 幂等 + 2 个失败场景
|
|
5
|
-
2. §3 Scope
|
|
6
|
-
3. §5 Constraints
|
|
7
|
-
4. §6 Risks
|
|
8
|
-
-
|
|
5
|
+
2. §3 Scope:若已有 00_context.md,基于其 §2 标注本次变更涉及的模块/文件;否则基于代码库自行分析
|
|
6
|
+
3. §5 Constraints:若已有 00_context.md,参考其 §3 并检查新需求是否与 §2.3 已有接口契约冲突;否则基于代码库分析填写(仅确认为全新项目、无既有接口约束时方可填写 N/A)
|
|
7
|
+
4. §6 Risks:须包含以下三项分析(若已有 00_context.md 则基于其 §5,否则基于代码库自行分析):
|
|
8
|
+
- 回归风险:与本次变更相关的已知坑位
|
|
9
9
|
- 单测影响:是否影响已有的单测
|
|
10
10
|
- 变更冲突:是否与其他进行中变更有 Spec 冲突
|
|
11
11
|
5. 执行一致性自检
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
根据现有 Spec 文档按以下分支执行:
|
|
2
|
+
|
|
3
|
+
— 若存在 @spec-canon/changes/{{CHANGE}}/03_implementation.md
|
|
4
|
+
→ 按 03 中的 Step 列表逐步执行,每步运行该步骤的验证命令,通过后报告,然后我确认是否继续下一步
|
|
5
|
+
|
|
6
|
+
— 若存在 @spec-canon/changes/{{CHANGE}}/02_interface.md 但无 03
|
|
7
|
+
→ 基于 01_requirement + 02_interface 自行规划实现步骤,
|
|
8
|
+
每步完成后运行编译/单测,通过后报告,然后我确认是否继续下一步
|
|
9
|
+
|
|
10
|
+
— 若只有 @spec-canon/changes/{{CHANGE}}/01_requirement.md
|
|
11
|
+
→ 基于 01 的 AC 直接实现,分步完成,每步运行验证命令,通过后报告,然后我确认是否继续下一步
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
请基于 @spec-canon/changes/{{CHANGE}}/
|
|
1
|
+
请基于 @spec-canon/changes/{{CHANGE}}/ 下现有的所有 Spec 文档(读取实际存在的文件),
|
|
2
2
|
审查本次所有代码变更。对每个 AC 逐项检查:✅ / ⚠️ / ❌。
|
|
3
3
|
所有 Must Fix 修复后,更新 AI_CHANGELOG.md。
|
|
4
|
-
|
|
4
|
+
若存在 00_context.md 且发现遗漏坑位,回填其 §5;否则将坑位记录到 AI_CHANGELOG.md 或留待 domain-sync 回填。
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
└─ SDD 已就绪,日常开发
|
|
15
15
|
└─ 按任务规模裁剪:
|
|
16
16
|
├─ 小 Bugfix ────── 仅更新 AI_CHANGELOG(无需提示词)
|
|
17
|
-
├─ 小需求 ────────── req
|
|
18
|
-
├─ 中等需求 ──────── req → iface
|
|
17
|
+
├─ 小需求 ────────── req → impl → review
|
|
18
|
+
├─ 中等需求 ──────── req → iface → impl → review
|
|
19
19
|
└─ 复杂需求 ──────── ctx → req → iface → impl-spec → test-spec → impl → review → domain-sync
|
|
20
20
|
```
|
|
21
21
|
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
|
|
63
63
|
| 步骤 | 提示词 ID | 说明 | 人工审阅点 |
|
|
64
64
|
|---|---|---|---|
|
|
65
|
-
| Step 0 | `ctx`(`-d` 或 `-m`) | 生成 00_context.md |
|
|
65
|
+
| Step 0 | `ctx`(`-d` 或 `-m`) | 生成 00_context.md | 审阅系统现状快照,补充 AI 无法推断的技术约束和团队经验 |
|
|
66
66
|
| Step 1 | `req` | 生成 01_requirement.md | 审阅 AC,Sign-off |
|
|
67
67
|
| Step 2 | `iface` → `impl-spec` → `test-spec` | 生成 02/03/04 文档 | 审阅文件路径、步骤顺序 |
|
|
68
68
|
| Step 3 | `impl` | 分步编码 | 逐步确认 |
|
|
@@ -72,15 +72,15 @@
|
|
|
72
72
|
按任务规模裁剪——小任务不必跑完全部步骤:
|
|
73
73
|
|
|
74
74
|
- **小 Bugfix**:仅更新 AI_CHANGELOG(无需提示词)
|
|
75
|
-
- **小需求**:`req`
|
|
76
|
-
- **中等需求**:`req` → `iface`
|
|
75
|
+
- **小需求**:`req` → `impl`(基于01)→ `review`(基于01)
|
|
76
|
+
- **中等需求**:`req` → `iface` → `impl`(基于01+02)→ `review`(基于01+02)
|
|
77
77
|
- **复杂需求**:完整流程 ctx → domain-sync
|
|
78
78
|
|
|
79
79
|
## 域拆分
|
|
80
80
|
|
|
81
81
|
在批量基线过程中或日常迭代中,如果怀疑某个域需要拆分:
|
|
82
82
|
|
|
83
|
-
1. 使用 `domain-split` 评估是否需要拆分(人工审阅评估结论)
|
|
83
|
+
1. 使用 `domain-split-eval` 评估是否需要拆分(人工审阅评估结论)
|
|
84
84
|
2. 确认拆分方案后,使用 `domain-split-run` 执行拆分操作(人工审阅草稿后写入)
|
|
85
85
|
|
|
86
86
|
子域分拆规则详见 [guide/06_domain_splitting.md](../guide/06_domain_splitting.md)。
|