sdd-agent-platform 0.1.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 ADDED
@@ -0,0 +1,405 @@
1
+ # SDD Agent Platform
2
+
3
+ 自建的 SDD + subagent workflow 平台,用于把规格驱动开发、Claude Code subagent 编排、运行状态、审查验证和项目适配沉淀为一套可持续迭代的个人 AI 开发平台。
4
+
5
+ 本项目不是对 Spec Kit、GSD、BMAD、OpenSpec 或 Oh My OpenCode 的直接封装,而是吸收它们的关键机制后,设计一套适合 Claude Code 工作流的本地平台。
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
+ 平台遵循:
19
+
20
+ ```text
21
+ Controlled phase transitions, automated intra-phase orchestration.
22
+ 阶段推进可控,阶段内编排自动化。
23
+ ```
24
+
25
+ 同时遵循:
26
+
27
+ ```text
28
+ Sufficient SDD, not maximum SDD.
29
+ 只做足以安全完成当前需求的规格化,不多做,不少做。
30
+ ```
31
+
32
+ ## 生命周期决策
33
+
34
+ `/sdd-*` 命令是智能入口,不是固定流程入口。Phase 1.0 已完成 lifecycle decision model 调研、对比与定稿;当前以 `docs/architecture/lifecycle-decision-model.md` 的 canonical model 为准,根据需求规模、风险、不确定性和规格完整度判断最短安全路径:
35
+
36
+ ```text
37
+ direct intent -> implement -> minimal validation
38
+ compact intent/mini-spec -> task boundary -> implement -> validation
39
+ full spec -> plan -> tasks -> do -> verify -> sync-back
40
+ research research -> options -> decision -> architecture artifact -> implementation spec
41
+ ```
42
+
43
+ 小改即使从 SDD 入口进入,也应该快速完成;复杂任务会升级到更完整的生命周期。当前 profile 已是 canonical model 的路径词汇,后续 phase 只消费该模型并落地 runtime record、command gate 与验证证据,不再重新定义算法。
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` 降低真实工作流摩擦。
141
+
142
+ ```text
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
+ ```
158
+
159
+ CLI 是本地 runtime 入口;长期状态和执行事实源由 `.sdd/runs/<run_id>/state.json`、`events.jsonl` 和 `artifacts/` 管理。
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
166
+
167
+ ```bash
168
+ npm install -g git+https://github.com/Timetraps-x/sdd-agent-platform.git
169
+ sdd --version
170
+ ```
171
+
172
+ 如果你更偏好 SSH,也可以使用:
173
+
174
+ ```bash
175
+ npm install -g git+ssh://git@github.com/Timetraps-x/sdd-agent-platform.git
176
+ sdd --version
177
+ ```
178
+
179
+ 平台开发时才需要 clone 仓库并直接运行 dist CLI:
180
+
181
+ ```bash
182
+ node ./dist/packages/cli/src/main.js --help
183
+ node ./dist/packages/cli/src/main.js --version
184
+ ```
185
+
186
+ 卸载:
187
+
188
+ ```bash
189
+ npm uninstall -g sdd-agent-platform
190
+ ```
191
+
192
+ ### 2. 初始化项目
193
+
194
+ `sdd doctor` 要求在 Git 仓库中运行;非 Git 目录会返回 `git_repo` failure。
195
+
196
+ ```bash
197
+ git init
198
+ sdd init --ai claude-code
199
+ sdd status
200
+ sdd update --check
201
+ sdd doctor
202
+ ```
203
+
204
+ 首次 init 会默认生成 starter SDD 文档:`specs/master/spec.md`、`plan.md`、`tasks.md`。这些是 onboarding placeholder,真实实现前应替换/细化;已有语义文档默认保留,只有显式 `--force` 才覆盖。首次 init 后还没有 run 时,doctor 可能返回 `WARN run_evidence`,这是正常状态;创建 run 后会消失。
205
+
206
+ ### 3. 准备 SDD 文档
207
+
208
+ 按 branch 名放置:
209
+
210
+ ```text
211
+ specs/case/spec.md
212
+ specs/case/plan.md
213
+ specs/case/tasks.md
214
+ ```
215
+
216
+ 最小 `tasks.md` 示例:
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
+ ```
236
+
237
+ #### Boundary
238
+
239
+ Only validate local calculator addition behavior. Do not commit, push, or call external services.
240
+
241
+ #### Acceptance
242
+
243
+ - Calculator add returns the sum of two positive numbers.
244
+ - Calculator add handles negative and positive operands.
245
+ - Calculator add coerces numeric strings consistently.
246
+ ````
247
+
248
+ Note: `#### Boundary`, `#### Acceptance`, and `#### Implementation Notes` are companion sections and must stay outside the `sdd-task` fenced block. Keep only metadata inside the fence.
249
+
250
+ ### 4. 创建 run 并记录 lifecycle decision
251
+
252
+ ```bash
253
+ sdd run create > run-create.json
254
+ RUN_ID=$(node -e "console.log(JSON.parse(require('fs').readFileSync('run-create.json','utf8')).runId)")
255
+
256
+ sdd lifecycle decide \
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
+ ```
275
+
276
+ 该命令只做 lifecycle gate 和 run record,不执行 task loop,也不启动 agent。
277
+
278
+ ### 5. 检查 task parser
279
+
280
+ ```bash
281
+ sdd tasks list --branch case
282
+ sdd tasks inspect CASE-T1 --branch case
283
+ sdd tasks gaps --branch case
284
+ ```
285
+
286
+ 期望:`gaps=0`,`tasks gaps` 输出 `PASS`。
287
+
288
+ ### 6. 准备 reviewer / validator artifacts
289
+
290
+ `do` 和 `verify` 消费显式 artifact;真实执行、review、validation 可以由主会话或外部流程完成后写入 artifact。推荐先生成合法模板,再补充 Evidence。
291
+
292
+ ```bash
293
+ mkdir -p ".sdd/runs/$RUN_ID/artifacts"
294
+
295
+ sdd artifact template artifacts/review-CASE-T1.md --task CASE-T1 --agent reviewer --branch case \
296
+ > ".sdd/runs/$RUN_ID/artifacts/review-CASE-T1.md"
297
+ sdd artifact template artifacts/validation-CASE-T1.md --task CASE-T1 --agent validator --branch case \
298
+ > ".sdd/runs/$RUN_ID/artifacts/validation-CASE-T1.md"
299
+ ```
300
+
301
+ 在生成文件中补充 `## Evidence`:
302
+
303
+ ```markdown
304
+ ## Evidence
305
+
306
+ - Calculator add returns the sum of two positive numbers: PASS.
307
+ - Calculator add handles negative and positive operands: PASS.
308
+ - Calculator add coerces numeric strings consistently: PASS.
309
+ - Commands run: npm test.
310
+ ```
311
+
312
+ validator template 会生成 `## Acceptance Mapping` 并复制 exact Acceptance text;不要把 Acceptance 改写成同义句,否则 goal-level verify 会 deterministic block。`sdd-result.artifacts` 只放 `artifacts/<file>` run-relative artifact 路径,源码和测试文件引用放在 `## Evidence`。
313
+
314
+ 先单独校验 artifact contract:
315
+
316
+ ```bash
317
+ sdd artifact validate "$RUN_ID" artifacts/review-CASE-T1.md --task CASE-T1 --agent reviewer
318
+ sdd artifact validate "$RUN_ID" artifacts/validation-CASE-T1.md --task CASE-T1 --agent validator
319
+ ```
320
+
321
+ ### 7. 执行 single-task loop 和 goal-level verify
322
+
323
+ ```bash
324
+ sdd do task CASE-T1 \
325
+ --branch case \
326
+ --run "$RUN_ID" \
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
339
+ ```
340
+
341
+ 期望:
342
+
343
+ - `do task` 返回 `status: completed`。
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. 卸载
350
+
351
+ ```bash
352
+ npm uninstall sdd-agent-platform
353
+ test ! -e node_modules/.bin/sdd
354
+ ```
355
+
356
+ 卸载只移除 CLI 包,不会删除目标项目中的 `specs/`、源码或 `.sdd/runs` 证据。
357
+
358
+ ## 项目结构
359
+
360
+ ```text
361
+ packages/ TypeScript runtime 与 CLI
362
+ commands/ Claude Code 命令入口说明
363
+ agents/ SDD lifecycle agent contract
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/ 项目记忆与决策上下文
371
+ ```
372
+
373
+ ## 本地开发
374
+
375
+ ```bash
376
+ npm run typecheck
377
+ npm test
378
+ npm run build
379
+ ```
380
+
381
+ ## 非目标
382
+
383
+ 第一阶段不做:
384
+
385
+ - plugin loader
386
+ - tool registry
387
+ - background write agents
388
+ - 默认 worktree
389
+ - dependency wave 并发执行
390
+ - 自动 commit / push / merge
391
+ - dashboard / run database
392
+ - doctor auto-fix
393
+
394
+ 第二阶段不做:
395
+
396
+ - background write agents
397
+ - per-task worktree
398
+ - dependency wave 并发执行
399
+ - plugin loader
400
+ - dashboard / run database
401
+ - 代码知识图谱
402
+ - fuzzy acceptance matching
403
+ - 自动 `sync-back apply`
404
+
405
+ Phase 2 优先解决全局安装、目标仓库 init、AI 工具入口投影、update/doctor 漂移检查、instruction API、artifact UX 和 run hygiene;平台化扩展顺延到 Phase 3;npm published package 分发基线进入 Phase 4;代码知识图谱顺延到 Phase 5。
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};