sdd-agent-platform 0.1.0 → 0.2.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/README.md +144 -310
- package/dist/packages/cli/src/main.js +1174 -309
- package/dist/packages/cli/src/main.js.map +1 -1
- package/dist/packages/cli/src/options.d.ts +4 -0
- package/dist/packages/cli/src/options.js +35 -0
- package/dist/packages/cli/src/options.js.map +1 -0
- package/dist/packages/core/src/ai-tools.d.ts +19 -2
- package/dist/packages/core/src/ai-tools.js +112 -21
- package/dist/packages/core/src/ai-tools.js.map +1 -1
- package/dist/packages/core/src/index.d.ts +739 -4
- package/dist/packages/core/src/index.js +3800 -220
- package/dist/packages/core/src/index.js.map +1 -1
- package/dist/packages/core/src/instructions.js +35 -34
- package/dist/packages/core/src/instructions.js.map +1 -1
- package/dist/packages/core/src/path-safety.d.ts +4 -0
- package/dist/packages/core/src/path-safety.js +35 -0
- package/dist/packages/core/src/path-safety.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,405 +1,239 @@
|
|
|
1
1
|
# SDD Agent Platform
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
SDD Agent Platform 是一个本地优先的规格驱动开发(SDD)与 Claude Code subagent workflow 平台。它把需求、计划、任务边界、运行状态、agent 证据、验证结果和 sync-back 写回串成一条可审计的本地证据链。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
它不是 Spec Kit、GSD、OpenSpec、BMAD 或 Oh My OpenCode 的封装,而是吸收这些工具的共同机制后,为 Claude Code 工作流设计的一套 CLI/core harness。
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
```text
|
|
10
|
-
SDD 文档定义“应该做什么”
|
|
11
|
-
Runtime state/events/artifacts 定义“实际做到了哪里”
|
|
12
|
-
Agent contract 定义“谁能做什么、产出什么证据”
|
|
13
|
-
Project adapter 定义“不同项目如何验证”
|
|
14
|
-
Lifecycle decision 定义“当前需求需要多少 SDD”
|
|
15
|
-
AI tool entry projection 定义“如何把 CLI/core 能力投影成 Claude Code 等工具的薄入口”
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
平台遵循:
|
|
7
|
+
核心目标:
|
|
19
8
|
|
|
20
9
|
```text
|
|
21
10
|
Controlled phase transitions, automated intra-phase orchestration.
|
|
22
11
|
阶段推进可控,阶段内编排自动化。
|
|
23
12
|
```
|
|
24
13
|
|
|
25
|
-
|
|
14
|
+
同时坚持:
|
|
26
15
|
|
|
27
16
|
```text
|
|
28
17
|
Sufficient SDD, not maximum SDD.
|
|
29
18
|
只做足以安全完成当前需求的规格化,不多做,不少做。
|
|
30
19
|
```
|
|
31
20
|
|
|
32
|
-
##
|
|
21
|
+
## 适合解决什么问题
|
|
33
22
|
|
|
34
|
-
|
|
23
|
+
普通 agent 可以直接改代码,但在高风险任务里容易把需求边界、状态流转、并发、数据库、审查、验证和写回混在主会话里。SDD Agent Platform 在 Claude Code 外增加一层可检查的工程约束:
|
|
35
24
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
25
|
+
| 维度 | 普通 agent 直接执行 | SDD Agent Platform |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| 路径选择 | 依赖 prompt 判断 | lifecycle decision 选择 direct / compact / full / research |
|
|
28
|
+
| 任务边界 | 容易随实现扩大 | `sdd tasks inspect` 固定 Boundary / Acceptance / affected files |
|
|
29
|
+
| agent 参与 | 证据混在主会话 | implementer / reviewer / validator 输出 run-relative artifacts |
|
|
30
|
+
| 验收 | 自然语言总结 | `.sdd/runs/<run_id>/artifacts` + acceptance coverage |
|
|
31
|
+
| 写回 | 人工记得改状态 | `sync-back inspect/apply` 显式回流到 `tasks.md` |
|
|
32
|
+
| 健康检查 | 临时脚本 | `sdd doctor` 检查配置、run evidence、generated entry drift |
|
|
42
33
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
## 设计原则
|
|
47
|
-
|
|
48
|
-
- Spec Kit-compatible,而不是 Spec Kit-based。
|
|
49
|
-
- Markdown 是 SDD 语义事实源。
|
|
50
|
-
- `.sdd/runs` 是 runtime 执行事实源。
|
|
51
|
-
- Claude Code command / skill 保持薄入口。
|
|
52
|
-
- TypeScript runtime 承载状态、事件、artifact、doctor、validation 等核心逻辑。
|
|
53
|
-
- Agent 输出优先沉淀为 artifact,而不是堆在主会话上下文中。
|
|
54
|
-
- 高风险操作继续交由 Claude Code 原生权限、settings、hooks 和用户确认管理。
|
|
55
|
-
- 平台从第一天预留未来代码知识图谱所需的 metadata。
|
|
56
|
-
- 命令入口先经过调研验证后的生命周期决策模型,再选择最短安全路径。
|
|
57
|
-
- Phase 2 命名为 AI 工具入口投影:这是 Spec Kit、GSD、OpenSpec、Oh My OpenCode/OpenAgent 共同采用的 CLI 到 AI 工具入口投影模式。
|
|
58
|
-
|
|
59
|
-
## 文档入口
|
|
60
|
-
|
|
61
|
-
- [用户使用指南(人类用户)](docs/user-guide.md)
|
|
62
|
-
- [AI / Claude Code README](docs/ai-readme.md)
|
|
63
|
-
- [架构设计方案](docs/architecture/sdd-agent-platform-architecture.md)
|
|
64
|
-
- [总体方案](docs/research/自建_SDD_subagent_工作流平台方案.md)
|
|
65
|
-
- [Lifecycle Decision Model](docs/architecture/lifecycle-decision-model.md)
|
|
66
|
-
- [Lifecycle Decision Model Research](docs/research/lifecycle-decision-model-research.md)
|
|
67
|
-
- [支持 subagent 的 SDD 工作流深度分析报告](docs/research/支持_subagent_的_SDD_工作流深度分析报告.md)
|
|
68
|
-
- [支持 subagent 的 SDD 工作流调研](docs/research/支持_subagent_的_SDD_工作流调研.md)
|
|
69
|
-
|
|
70
|
-
## SDD 文档
|
|
71
|
-
|
|
72
|
-
当前平台自身也使用 SDD 文档推进:
|
|
73
|
-
|
|
74
|
-
- [Phase artifacts index](specs/master/phases/README.md)
|
|
75
|
-
- [Phase status](specs/master/phases/PHASE_STATUS.md)
|
|
76
|
-
- [Phase 1.0 Lifecycle Decision Model 调研、对比与定稿](specs/master/phases/phase-1.0-lifecycle-research.md)
|
|
77
|
-
- [Phase 1.0 spec](specs/master/phase1.0-spec.md)
|
|
78
|
-
- [Phase 1.0 plan](specs/master/phase1.0-plan.md)
|
|
79
|
-
- [Phase 1.0 tasks](specs/master/phase1.0-tasks.md)
|
|
80
|
-
- [Phase 1.0 validation](specs/master/phase1.0-validation.md)
|
|
81
|
-
- [Phase 1.1 Architecture Baseline](specs/master/phases/phase-1.1-architecture-baseline.md)
|
|
82
|
-
- [Phase 1.1 spec](specs/master/phase1.1-spec.md)
|
|
83
|
-
- [Phase 1.1 plan](specs/master/phase1.1-plan.md)
|
|
84
|
-
- [Phase 1.1 tasks](specs/master/phase1.1-tasks.md)
|
|
85
|
-
- [Phase 1.1 validation](specs/master/phase1.1-validation.md)
|
|
86
|
-
- [Phase 1.2 Runtime Skeleton](specs/master/phases/phase-1.2-runtime-skeleton.md)
|
|
87
|
-
- [Phase 1.2 spec](specs/master/phase1.2-spec.md)
|
|
88
|
-
- [Phase 1.2 plan](specs/master/phase1.2-plan.md)
|
|
89
|
-
- [Phase 1.2 tasks](specs/master/phase1.2-tasks.md)
|
|
90
|
-
- [Phase 1.2 validation](specs/master/phase1.2-validation.md)
|
|
91
|
-
- [Phase 1.3 Contract / Templates / Adapters Pack](specs/master/phases/phase-1.3-contract-templates-adapters.md)
|
|
92
|
-
- [Phase 1.3 spec](specs/master/phase1.3-spec.md)
|
|
93
|
-
- [Phase 1.3 plan](specs/master/phase1.3-plan.md)
|
|
94
|
-
- [Phase 1.3 tasks](specs/master/phase1.3-tasks.md)
|
|
95
|
-
- [Phase 1.3 validation](specs/master/phase1.3-validation.md)
|
|
96
|
-
- [Phase 1.4 Commands / Agents / Workflows Pack](specs/master/phases/phase-1.4-commands-agents-workflows.md)
|
|
97
|
-
- [Phase 1.4 spec](specs/master/phase1.4-spec.md)
|
|
98
|
-
- [Phase 1.4 plan](specs/master/phase1.4-plan.md)
|
|
99
|
-
- [Phase 1.4 tasks](specs/master/phase1.4-tasks.md)
|
|
100
|
-
- [Phase 1.4 validation](specs/master/phase1.4-validation.md)
|
|
101
|
-
- [Phase 1.5 SDD Parser / Task Model](specs/master/phases/phase-1.5-sdd-parser-task-model.md)
|
|
102
|
-
- [Phase 1.5 spec](specs/master/phase1.5-spec.md)
|
|
103
|
-
- [Phase 1.5 plan](specs/master/phase1.5-plan.md)
|
|
104
|
-
- [Phase 1.5 tasks](specs/master/phase1.5-tasks.md)
|
|
105
|
-
- [Phase 1.5 validation](specs/master/phase1.5-validation.md)
|
|
106
|
-
- [Phase 1.6 Artifact / Delegation Contract](specs/master/phases/phase-1.6-artifact-delegation-contract.md)
|
|
107
|
-
- [Phase 1.6 spec](specs/master/phase1.6-spec.md)
|
|
108
|
-
- [Phase 1.6 plan](specs/master/phase1.6-plan.md)
|
|
109
|
-
- [Phase 1.6 tasks](specs/master/phase1.6-tasks.md)
|
|
110
|
-
- [Phase 1.6 validation](specs/master/phase1.6-validation.md)
|
|
111
|
-
- [Phase 1.7 Claude Code Command Integration](specs/master/phases/phase-1.7-claude-code-command-integration.md)
|
|
112
|
-
- [Phase 1.7 spec](specs/master/phase1.7-spec.md)
|
|
113
|
-
- [Phase 1.7 plan](specs/master/phase1.7-plan.md)
|
|
114
|
-
- [Phase 1.7 tasks](specs/master/phase1.7-tasks.md)
|
|
115
|
-
- [Phase 1.7 validation](specs/master/phase1.7-validation.md)
|
|
116
|
-
- [Phase 1.8 Single-task Loop](specs/master/phases/phase-1.8-single-task-loop.md)
|
|
117
|
-
- [Phase 1.8 spec](specs/master/phase1.8-spec.md)
|
|
118
|
-
- [Phase 1.8 plan](specs/master/phase1.8-plan.md)
|
|
119
|
-
- [Phase 1.8 tasks](specs/master/phase1.8-tasks.md)
|
|
120
|
-
- [Phase 1.8 validation](specs/master/phase1.8-validation.md)
|
|
121
|
-
- [Phase 1.9 Goal-level Verify / Doctor](specs/master/phases/phase-1.9-goal-verify-doctor.md)
|
|
122
|
-
- [Phase 1.9 spec](specs/master/phase1.9-spec.md)
|
|
123
|
-
- [Phase 1.9 plan](specs/master/phase1.9-plan.md)
|
|
124
|
-
- [Phase 1.9 tasks](specs/master/phase1.9-tasks.md)
|
|
125
|
-
- [Phase 1.9 validation](specs/master/phase1.9-validation.md)
|
|
126
|
-
- [Phase 1.10 Real/Synthetic Project Trial](specs/master/phases/phase-1.10-real-project-trial.md)
|
|
127
|
-
- [Phase 1.10 spec](specs/master/phase1.10-spec.md)
|
|
128
|
-
- [Phase 1.10 plan](specs/master/phase1.10-plan.md)
|
|
129
|
-
- [Phase 1.10 tasks](specs/master/phase1.10-tasks.md)
|
|
130
|
-
- [Phase 1.10 validation](specs/master/phase1.10-validation.md)
|
|
131
|
-
- [Phase 2.0 AI 工具入口投影与全局安装接入](specs/master/phases/phase-2.0-ai-tool-entry-projection.md)
|
|
132
|
-
- [Phase 4.0 NPM Package Distribution Baseline](specs/master/phases/phase-4.0-npm-package-distribution.md)
|
|
133
|
-
- [Phase 4.1 Package Metadata Hardening](specs/master/phases/phase-4.1-package-metadata-hardening.md)
|
|
134
|
-
- [Phase 4.2 Package Contents and Install Smoke](specs/master/phases/phase-4.2-package-contents-install-smoke.md)
|
|
135
|
-
- [Phase 4.3 NPM Publish Dry-run and Human Runbook](specs/master/phases/phase-4.3-npm-publish-dry-run-runbook.md)
|
|
136
|
-
- [Phase 4.4 Public Publish and Adoption](specs/master/phases/phase-4.4-public-publish-adoption.md)
|
|
137
|
-
|
|
138
|
-
## CLI 命令
|
|
139
|
-
|
|
140
|
-
> Phase 2 已完成 AI 工具入口投影与全局安装接入:`sdd` 可直接从 GitHub 仓库安装,`sdd init` 可一次性生成 `.sdd`、starter `specs/<branch>/spec.md|plan.md|tasks.md` 与 Claude Code managed entries,`sdd update` 可检查/修复漂移,`sdd instructions` 提供动态薄入口指令,`sdd artifact template/validate` 和 `sdd run archive` 降低真实工作流摩擦。
|
|
34
|
+
## 5 分钟快速开始
|
|
141
35
|
|
|
142
|
-
|
|
143
|
-
sdd --version
|
|
144
|
-
sdd init [--force] [--ai auto|claude-code|none] [--branch <branch>] [--no-scaffold-docs]
|
|
145
|
-
sdd update [--check] [--ai auto|claude-code]
|
|
146
|
-
sdd instructions [overview|init|doctor|update|run-task|verify-task] [--json]
|
|
147
|
-
sdd doctor [--latest-only] [--all-runs]
|
|
148
|
-
sdd run create
|
|
149
|
-
sdd run status <run_id>
|
|
150
|
-
sdd run archive <run_id> [--reason <text>]
|
|
151
|
-
sdd lifecycle decide [options]
|
|
152
|
-
sdd tasks list|inspect|gaps [--branch <branch>]
|
|
153
|
-
sdd artifact template <artifacts/path.md> --task <task_id> --agent <agent> [--branch <branch>] [--status <status>]
|
|
154
|
-
sdd artifact validate <run_id> <artifacts/path.md> [--task <task_id>] [--agent <agent>] [--json]
|
|
155
|
-
sdd do task <task_id> [--branch <branch>] [--run <run_id>] --review-artifact <path> --validation-artifact <path>
|
|
156
|
-
sdd verify task <task_id> --branch <branch> --run <run_id> --review-artifact <path> --validation-artifact <path>
|
|
157
|
-
```
|
|
36
|
+
### 1. 安装 CLI
|
|
158
37
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
## 安装态全链路使用示例
|
|
162
|
-
|
|
163
|
-
下面流程对应当前 GitHub 仓库安装后的端到端路径。普通用户不需要先 clone 平台仓库,直接用 npm 从 GitHub 安装即可。Phase 4.0 会补齐标准 npm published package;真实发布并通过 public install smoke 前,GitHub direct install 仍是可用默认路径。
|
|
164
|
-
|
|
165
|
-
### 1. 从 GitHub 安装 CLI
|
|
38
|
+
普通用户不需要 clone 本仓库:
|
|
166
39
|
|
|
167
40
|
```bash
|
|
168
|
-
npm install -g
|
|
41
|
+
npm install -g sdd-agent-platform@latest
|
|
169
42
|
sdd --version
|
|
43
|
+
sdd --help
|
|
170
44
|
```
|
|
171
45
|
|
|
172
|
-
|
|
46
|
+
卸载:
|
|
173
47
|
|
|
174
48
|
```bash
|
|
175
|
-
npm
|
|
176
|
-
sdd --version
|
|
49
|
+
npm uninstall -g sdd-agent-platform
|
|
177
50
|
```
|
|
178
51
|
|
|
179
|
-
|
|
52
|
+
平台开发者本地验证可使用构建后的 dist CLI:
|
|
180
53
|
|
|
181
54
|
```bash
|
|
55
|
+
npm run build
|
|
182
56
|
node ./dist/packages/cli/src/main.js --help
|
|
183
|
-
node ./dist/packages/cli/src/main.js --version
|
|
184
57
|
```
|
|
185
58
|
|
|
186
|
-
|
|
59
|
+
### 2. 在目标项目初始化
|
|
187
60
|
|
|
188
|
-
|
|
189
|
-
npm uninstall -g sdd-agent-platform
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### 2. 初始化项目
|
|
193
|
-
|
|
194
|
-
`sdd doctor` 要求在 Git 仓库中运行;非 Git 目录会返回 `git_repo` failure。
|
|
61
|
+
在目标 Git 仓库中执行:
|
|
195
62
|
|
|
196
63
|
```bash
|
|
197
|
-
git init
|
|
198
64
|
sdd init --ai claude-code
|
|
199
65
|
sdd status
|
|
200
|
-
sdd update --check
|
|
201
66
|
sdd doctor
|
|
202
67
|
```
|
|
203
68
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
### 3. 准备 SDD 文档
|
|
207
|
-
|
|
208
|
-
按 branch 名放置:
|
|
69
|
+
初始化后通常会出现:
|
|
209
70
|
|
|
210
71
|
```text
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
specs
|
|
72
|
+
.sdd/project.yml
|
|
73
|
+
.sdd/runs/
|
|
74
|
+
specs/<branch>/spec.md
|
|
75
|
+
specs/<branch>/plan.md
|
|
76
|
+
specs/<branch>/tasks.md
|
|
77
|
+
.claude/commands/... # managed generated entries
|
|
78
|
+
.claude/skills/sdd/... # managed generated skill
|
|
214
79
|
```
|
|
215
80
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
````markdown
|
|
219
|
-
# Case Tasks
|
|
220
|
-
|
|
221
|
-
### CASE-T1: Implement calculator addition
|
|
222
|
-
|
|
223
|
-
```sdd-task
|
|
224
|
-
id: CASE-T1
|
|
225
|
-
status: pending
|
|
226
|
-
wave: 1
|
|
227
|
-
depends_on: []
|
|
228
|
-
affected_files:
|
|
229
|
-
- src/calculator.js
|
|
230
|
-
- test/calculator.test.js
|
|
231
|
-
validation:
|
|
232
|
-
- npm test
|
|
233
|
-
risk:
|
|
234
|
-
- local-runtime
|
|
235
|
-
```
|
|
81
|
+
`sdd init` 是项目级接入;具体需求进入哪个 workflow partition,由当前 Git branch 或显式 `--branch` 决定。
|
|
236
82
|
|
|
237
|
-
|
|
83
|
+
### 3. 在 Claude Code 里继续
|
|
238
84
|
|
|
239
|
-
|
|
85
|
+
如果已经生成 Claude Code 入口,在项目里输入:
|
|
240
86
|
|
|
241
|
-
|
|
87
|
+
```text
|
|
88
|
+
/sdd
|
|
89
|
+
```
|
|
242
90
|
|
|
243
|
-
|
|
244
|
-
- Calculator add handles negative and positive operands.
|
|
245
|
-
- Calculator add coerces numeric strings consistently.
|
|
246
|
-
````
|
|
91
|
+
`/sdd` 会先读取 `sdd status`,再根据 CLI/core 的 recommended next command 判断下一步是补 spec、写 plan、拆 tasks、执行 task、verify,还是处理 sync-back。
|
|
247
92
|
|
|
248
|
-
|
|
93
|
+
## 主工作流
|
|
249
94
|
|
|
250
|
-
|
|
95
|
+
常见单任务路径如下:
|
|
251
96
|
|
|
252
97
|
```bash
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
sdd
|
|
257
|
-
--run "$RUN_ID" \
|
|
258
|
-
--intent high \
|
|
259
|
-
--acceptance high \
|
|
260
|
-
--size small \
|
|
261
|
-
--tasks 1 \
|
|
262
|
-
--files 2 \
|
|
263
|
-
--layer runtime \
|
|
264
|
-
--risk local-runtime \
|
|
265
|
-
--impact-confidence high \
|
|
266
|
-
--validation clear \
|
|
267
|
-
--validation-available \
|
|
268
|
-
--validation-cost cheap \
|
|
269
|
-
--fanout local \
|
|
270
|
-
--reversibility reversible \
|
|
271
|
-
--source-artifact specs/case/spec.md \
|
|
272
|
-
--source-artifact specs/case/tasks.md \
|
|
273
|
-
--json
|
|
274
|
-
```
|
|
98
|
+
# 读状态和任务边界
|
|
99
|
+
sdd status --branch master
|
|
100
|
+
sdd tasks inspect <task_id> --branch master
|
|
101
|
+
sdd tasks route <task_id> --branch master
|
|
275
102
|
|
|
276
|
-
|
|
103
|
+
# 创建 run
|
|
104
|
+
sdd run create
|
|
277
105
|
|
|
278
|
-
|
|
106
|
+
# 用真实 run 写入 artifacts 模板
|
|
107
|
+
sdd artifact template artifacts/implement-<task_id>.md --task <task_id> --agent implementer --branch master --run <run_id> --write
|
|
108
|
+
sdd artifact template artifacts/review-<task_id>.md --task <task_id> --agent reviewer --branch master --run <run_id> --write
|
|
109
|
+
sdd artifact template artifacts/validation-<task_id>.md --task <task_id> --agent validator --branch master --run <run_id> --write
|
|
279
110
|
|
|
280
|
-
|
|
281
|
-
sdd
|
|
282
|
-
sdd
|
|
283
|
-
sdd
|
|
111
|
+
# 填写 Evidence 后先校验 artifact
|
|
112
|
+
sdd artifact validate <run_id> artifacts/implement-<task_id>.md --task <task_id> --agent implementer
|
|
113
|
+
sdd artifact validate <run_id> artifacts/review-<task_id>.md --task <task_id> --agent reviewer
|
|
114
|
+
sdd artifact validate <run_id> artifacts/validation-<task_id>.md --task <task_id> --agent validator
|
|
115
|
+
|
|
116
|
+
# 执行、验证、写回
|
|
117
|
+
sdd do task <task_id> --branch master --run <run_id> \
|
|
118
|
+
--implement-artifact artifacts/implement-<task_id>.md \
|
|
119
|
+
--review-artifact artifacts/review-<task_id>.md \
|
|
120
|
+
--validation-artifact artifacts/validation-<task_id>.md
|
|
121
|
+
|
|
122
|
+
sdd verify task <task_id> --branch master --run <run_id>
|
|
123
|
+
sdd sync-back inspect <run_id> --task <task_id> --branch master
|
|
124
|
+
sdd sync-back apply <run_id> --task <task_id> --branch master
|
|
284
125
|
```
|
|
285
126
|
|
|
286
|
-
|
|
127
|
+
复杂或高风险任务如果 `sync-back inspect` 输出 `approval_required=true`,必须人工确认后才使用 `--approved`。
|
|
287
128
|
|
|
288
|
-
|
|
129
|
+
## 核心事实源
|
|
289
130
|
|
|
290
|
-
|
|
131
|
+
| 事实源 | 含义 |
|
|
132
|
+
|---|---|
|
|
133
|
+
| `specs/<branch>/spec.md` | 需求、范围、验收标准 |
|
|
134
|
+
| `specs/<branch>/plan.md` | 设计方案、风险控制、验证矩阵 |
|
|
135
|
+
| `specs/<branch>/tasks.md` | 可执行 task、边界、artifact 要求 |
|
|
136
|
+
| `.sdd/runs/<run_id>/state.json` | 运行状态 |
|
|
137
|
+
| `.sdd/runs/<run_id>/events.jsonl` | 运行事件 |
|
|
138
|
+
| `.sdd/runs/<run_id>/artifacts/*.md` | implement/review/validation/coverage 证据 |
|
|
139
|
+
| `.claude/**` | managed AI entry projection,不是手写事实源 |
|
|
291
140
|
|
|
292
|
-
|
|
293
|
-
mkdir -p ".sdd/runs/$RUN_ID/artifacts"
|
|
141
|
+
## 文档地图
|
|
294
142
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
143
|
+
| 文档 | 面向对象 | 用途 |
|
|
144
|
+
|---|---|---|
|
|
145
|
+
| [用户指南](docs/user-guide.md) | 人类用户 | 安装、初始化、执行任务、verify、sync-back、doctor、常见问题 |
|
|
146
|
+
| [AI README](docs/ai-readme.md) | Claude Code / AI 操作者 | status-first、artifact、task boundary、sync-back 策略 |
|
|
147
|
+
| [文档信息架构](docs/documentation-information-architecture.md) | 维护者 | Markdown 文档分类、迁移风险、未来整理策略 |
|
|
148
|
+
| [架构设计](docs/architecture/sdd-agent-platform-architecture.md) | 平台维护者 | 平台架构和核心设计 |
|
|
149
|
+
| [Lifecycle Decision Model](docs/architecture/lifecycle-decision-model.md) | 平台维护者 | direct / compact / full / research 的决策模型 |
|
|
150
|
+
| [Phase artifacts index](specs/master/phases/README.md) | 平台维护者 | 本仓库 SDD phase 归档入口 |
|
|
151
|
+
| [Phase status](specs/master/phases/PHASE_STATUS.md) | 平台维护者 | phase 状态汇总 |
|
|
300
152
|
|
|
301
|
-
|
|
153
|
+
研究与历史分析材料保留在 `docs/research/`;runtime contract assets 保留在 `commands/`、`agents/`、`templates/`、`workflows/` 等目录,不作为普通 Markdown 文档搬迁。
|
|
302
154
|
|
|
303
|
-
|
|
304
|
-
## Evidence
|
|
155
|
+
## 项目结构
|
|
305
156
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
157
|
+
```text
|
|
158
|
+
packages/ TypeScript runtime 与 CLI
|
|
159
|
+
commands/ Claude Code 命令入口说明源材料
|
|
160
|
+
agents/ SDD lifecycle agent contract
|
|
161
|
+
templates/ spec / plan / tasks / project / sync-back 模板
|
|
162
|
+
workflows/ 阶段 workflow contract
|
|
163
|
+
adapters/ 项目适配模板
|
|
164
|
+
schemas/ runtime、artifact 与 contract pack
|
|
165
|
+
docs/ 用户、AI、架构、研究文档
|
|
166
|
+
specs/ 本项目自身的 SDD 文档
|
|
167
|
+
.sdd/ 本地运行状态和证据
|
|
168
|
+
context/ 项目记忆与决策上下文
|
|
310
169
|
```
|
|
311
170
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
先单独校验 artifact contract:
|
|
171
|
+
## 本地开发
|
|
315
172
|
|
|
316
173
|
```bash
|
|
317
|
-
|
|
318
|
-
|
|
174
|
+
npm run typecheck
|
|
175
|
+
npm test
|
|
176
|
+
npm run build
|
|
177
|
+
npm pack --dry-run --json
|
|
319
178
|
```
|
|
320
179
|
|
|
321
|
-
|
|
180
|
+
常用 CLI smoke:
|
|
322
181
|
|
|
323
182
|
```bash
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
--review-artifact artifacts/review-CASE-T1.md \
|
|
328
|
-
--validation-artifact artifacts/validation-CASE-T1.md
|
|
329
|
-
|
|
330
|
-
sdd verify task CASE-T1 \
|
|
331
|
-
--branch case \
|
|
332
|
-
--run "$RUN_ID" \
|
|
333
|
-
--review-artifact artifacts/review-CASE-T1.md \
|
|
334
|
-
--validation-artifact artifacts/validation-CASE-T1.md
|
|
335
|
-
|
|
336
|
-
sdd run status "$RUN_ID"
|
|
337
|
-
sdd doctor --latest-only
|
|
338
|
-
sdd doctor
|
|
183
|
+
node ./dist/packages/cli/src/main.js status --branch master
|
|
184
|
+
node ./dist/packages/cli/src/main.js doctor --latest-only
|
|
185
|
+
node ./dist/packages/cli/src/main.js instructions overview --json
|
|
339
186
|
```
|
|
340
187
|
|
|
341
|
-
|
|
188
|
+
## npm 发布维护速查
|
|
342
189
|
|
|
343
|
-
|
|
344
|
-
- `verify task` 返回 `status: PASS`,并生成 `artifacts/acceptance-coverage-CASE-T1.md`。
|
|
345
|
-
- `run status` 显示 `status: completed`、`phase: verify`。
|
|
346
|
-
- `doctor` 输出 `PASS`,没有 stale delegation、invalid artifact 或 terminal event gap。
|
|
347
|
-
- `doctor --latest-only` 只检查最新非归档 run;需要历史审计时可运行 `sdd doctor --all-runs`。
|
|
348
|
-
|
|
349
|
-
### 8. 卸载
|
|
190
|
+
普通安装路径是:
|
|
350
191
|
|
|
351
192
|
```bash
|
|
352
|
-
npm
|
|
353
|
-
test ! -e node_modules/.bin/sdd
|
|
193
|
+
npm install -g sdd-agent-platform@latest
|
|
354
194
|
```
|
|
355
195
|
|
|
356
|
-
|
|
196
|
+
平台维护者发布新版本时,先完成本地验证和 dry-run:
|
|
357
197
|
|
|
358
|
-
|
|
198
|
+
```bash
|
|
199
|
+
npm whoami
|
|
200
|
+
npm publish --dry-run
|
|
201
|
+
```
|
|
359
202
|
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
templates/ spec / plan / tasks / project / sync-back 模板
|
|
365
|
-
workflows/ 阶段 workflow contract
|
|
366
|
-
adapters/ 项目适配模板
|
|
367
|
-
schemas/ runtime、artifact 与 Phase 1.3 contract pack
|
|
368
|
-
docs/ 架构与研究文档
|
|
369
|
-
specs/ 本项目自身的 SDD 文档
|
|
370
|
-
context/ 项目记忆与决策上下文
|
|
203
|
+
真实发布必须显式确认后执行:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
npm publish --access public
|
|
371
207
|
```
|
|
372
208
|
|
|
373
|
-
|
|
209
|
+
如果真实发布返回 `EOTP` 并提示打开 `https://www.npmjs.com/auth/cli/...`,这是 npm security-key/browser authentication 流程,不是 Google Authenticator 扫码页。发布人应在本机终端或 Claude Code prompt 中执行 `! npm publish --access public`,打开终端里完整的 npm auth URL,按页面完成 security key / passkey / Windows Hello / browser authentication;如果命令已经退出,认证后重新执行 `npm publish --access public`。
|
|
210
|
+
|
|
211
|
+
发布成功后验证:
|
|
374
212
|
|
|
375
213
|
```bash
|
|
376
|
-
npm
|
|
377
|
-
npm
|
|
378
|
-
|
|
214
|
+
npm view sdd-agent-platform name version --json
|
|
215
|
+
npm install -g sdd-agent-platform@latest
|
|
216
|
+
sdd --version
|
|
217
|
+
# clean Git repo
|
|
218
|
+
sdd init --ai claude-code
|
|
219
|
+
sdd status
|
|
220
|
+
sdd doctor
|
|
379
221
|
```
|
|
380
222
|
|
|
381
|
-
|
|
223
|
+
不要把长期 npm token、`.npmrc`、recovery code 写入仓库、文档或对话。recovery code 不能转换成 Google Authenticator OTP;已经发布过的版本不能覆盖,后续发包必须先 bump version。
|
|
224
|
+
|
|
225
|
+
## 安全边界
|
|
382
226
|
|
|
383
|
-
|
|
227
|
+
默认不做:
|
|
384
228
|
|
|
385
|
-
-
|
|
386
|
-
-
|
|
387
|
-
-
|
|
388
|
-
-
|
|
389
|
-
-
|
|
390
|
-
- 自动 commit / push / merge
|
|
391
|
-
- dashboard / run database
|
|
392
|
-
- doctor auto-fix
|
|
229
|
+
- 自动 commit / push / force push。
|
|
230
|
+
- 自动创建 PR、issue、外部评论或修改共享系统。
|
|
231
|
+
- 自动执行 destructive git、清理未提交变更或删除历史 run evidence。
|
|
232
|
+
- 未经确认对复杂任务执行 `sync-back apply --approved`。
|
|
233
|
+
- 把 `.claude/**`、`commands/**`、`agents/**`、`templates/**`、`workflows/**` 当作普通文档随意搬迁。
|
|
393
234
|
|
|
394
|
-
|
|
235
|
+
已有未提交变更不应阻塞 SDD workflow;正确做法是通过 branch/partition、run evidence、artifact 和 sync-back 策略隔离风险,而不是要求工作树必须干净。
|
|
395
236
|
|
|
396
|
-
|
|
397
|
-
- per-task worktree
|
|
398
|
-
- dependency wave 并发执行
|
|
399
|
-
- plugin loader
|
|
400
|
-
- dashboard / run database
|
|
401
|
-
- 代码知识图谱
|
|
402
|
-
- fuzzy acceptance matching
|
|
403
|
-
- 自动 `sync-back apply`
|
|
237
|
+
## 当前状态
|
|
404
238
|
|
|
405
|
-
|
|
239
|
+
当前主路径已经覆盖全局安装、project init/update、Claude Code entry projection、artifact UX、run index、doctor、governance、wave/background/worktree contracts、agent/skill/team runtime、resident worker、声明式 runtime registry、`/sdd:spec` 分区入口和多分支 run 隔离。代码知识图谱顺延到 Phase 7。
|