{"id":50884689,"url":"https://github.com/dhslegen/disciplined-delivery-toolkit","last_synced_at":"2026-06-15T16:03:20.444Z","repository":{"id":359241173,"uuid":"1244454252","full_name":"dhslegen/disciplined-delivery-toolkit","owner":"dhslegen","description":"Claude Code plugin: superpowers discipline + toB delivery governance — 5-station spine (need→contract→implement→verify→deliver), Iron Law file-fact enforcement, SSoT accountability, ROI reporting. Zero deps.","archived":false,"fork":false,"pushed_at":"2026-06-05T09:21:24.000Z","size":745,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T12:12:03.125Z","etag":null,"topics":["ai-engineering","claude-code","claude-code-plugin","delivery","governance","openapi","subagents","superpowers","tdd","tob"],"latest_commit_sha":null,"homepage":"https://github.com/dhslegen/disciplined-delivery-toolkit","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dhslegen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-20T09:26:32.000Z","updated_at":"2026-06-05T09:21:28.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dhslegen/disciplined-delivery-toolkit","commit_stats":null,"previous_names":["dhslegen/disciplined-delivery-toolkit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dhslegen/disciplined-delivery-toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhslegen%2Fdisciplined-delivery-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhslegen%2Fdisciplined-delivery-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhslegen%2Fdisciplined-delivery-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhslegen%2Fdisciplined-delivery-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhslegen","download_url":"https://codeload.github.com/dhslegen/disciplined-delivery-toolkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhslegen%2Fdisciplined-delivery-toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34369850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-engineering","claude-code","claude-code-plugin","delivery","governance","openapi","subagents","superpowers","tdd","tob"],"created_at":"2026-06-15T16:03:16.009Z","updated_at":"2026-06-15T16:03:20.439Z","avatar_url":"https://github.com/dhslegen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DDT — Disciplined Delivery Toolkit\n\n\u003e **superpowers 纪律基底 ⊕ toB 交付治理**\n\u003e Claude Code plugin for disciplined, auditable, multi-stakeholder AI-assisted delivery.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n[![Node](https://img.shields.io/badge/Node-%E2%89%A522-43853d.svg)](./package.json)\n[![Status](https://img.shields.io/badge/Status-v1.0--alpha-blue.svg)](./docs/specs/2026-05-22-ddt-superpowers-faithful-redesign-design.md)\n[![Tests](https://img.shields.io/badge/Tests-passing-brightgreen.svg)](./tests)\n\n---\n\n## 是什么\n\nDDT 是一个 [Claude Code](https://claude.com/claude-code) 插件，在 **[obra/superpowers](https://github.com/obra/superpowers) 工程纪律基底**旁边增加四项轻量治理增强：大需求先变小、小问题用 superpowers 做深、设计进计划前过闸、需要交付时再收口。\n\n**DDT 在 superpowers 边上，不替代它，不垄断入口。** superpowers 的 `brainstorming → writing-plans → implementation → review` 是微观主链路，DDT 不打断它。\n\n**四句北极星**：\n\n- 大需求先变小。\n- 小问题用 superpowers 做深。\n- 设计进计划前过闸。\n- 需要交付时再收口。\n\n---\n\n## 适合谁\n\n- ✅ **政企/B 端交付团队**：客户多角色、需求易变、要求过程可审计、强调质量门禁。\n- ✅ **小到 10 人内、大到几十人协作的开发者**：需要让\"AI 写的代码\"和\"人写的代码\"接受同一套纪律。\n- ✅ **想用 AI 提效但不愿牺牲工程质量的工程师**：想要 LLM 速度，但需要明确的工程纪律取向（靠 skill 被 invoke，不靠拦截）。\n- ⚠️ **不适合**：一次性脚本、个人玩具项目（用 superpowers 即可，DDT 的治理外壳是过度工程）。\n\n---\n\n## 与裸 Claude Code / superpowers 的区别\n\n| 维度 | 裸 Claude Code | superpowers | **DDT** |\n|------|---------------|-------------|---------|\n| 写代码节奏 | 自由（容易跳过测试） | TDD 纪律（brainstorm → plan → implement → review） | TDD 纪律（**继承 superpowers**） |\n| 团队协作 | 无规约 | 弱（个人开发友好） | **决策/变更账本 + 多切片协作** |\n| 决策可追溯 | 散落在对话里 | 部分 | **`.ddt/decisions.jsonl` + `.ddt/changelog.jsonl`** |\n| 设计进计划前 | 无门控 | 无 | **Design Checkpoint（七问习惯）** |\n| 评审要证据 | 无 | 弱告警 | **verification / review skill 要求引证（行为约束）** |\n| 收口证据 | 无 | 无 | **`ddt-deliver`（按需）ROI 报告** |\n\n**DDT ≠ superpowers + 一堆 agents**。v1.0 是最薄治理外壳：2 个命令、17 个 skill（13 个直接 vendoring superpowers）、3 个 hook（全被动/注入、不拦截）、所有\"做事\"委托给 skill。\n\n---\n\n## 安装\n\n需要 [Claude Code](https://claude.com/claude-code) ≥ 2.x，Node ≥ 22。\n\n在 Claude Code 会话里：\n\n```\n/plugin marketplace add https://github.com/dhslegen/disciplined-delivery-toolkit\n/plugin install disciplined-delivery-toolkit@disciplined-delivery-toolkit\n/reload-plugins\n```\n\n\u003e ⚠️ **如果你之前装过 `digital-delivery-team`（v0.x DDT，schema_version 1）必须先卸载**：v0.x 的 hook 仍会在 cwd 偷偷写 `.ddt/progress.json` 污染所有项目。`/ddt 自检` 会检测此残留并提示。卸载方式：`/plugin uninstall digital-delivery-team`。\n\n安装后会出现两条命令：\n\n- `/ddt [一句话意图]` —— 向导闸门，按上下文引导下一步\n- `/ddt-status` —— 只读重算当前项目状态\n\n### 如何确认拿到最新版本\n\n**alpha 阶段不使用语义版本**，`.claude-plugin/plugin.json` 不设 `version` 字段——Claude Code [官方策略](https://code.claude.com/docs/en/plugins-reference#version-management)：未设 version 时用 git commit SHA 作为版本，**每个 commit 都是新版**，`/plugin marketplace update` 一定能拿到最新。\n\n确认当前装的是哪个 commit：\n\n```\n/plugin                    # 进 plugin 管理界面\n# 选 Installed → disciplined-delivery-toolkit\n# Version 行显示的就是 commit SHA（短 hash）\n```\n\n对照 GitHub 当前 main 的 HEAD：\n\n```bash\ngh api repos/dhslegen/disciplined-delivery-toolkit/commits/main --jq .sha[0:7]\n# 或浏览器打开 https://github.com/dhslegen/disciplined-delivery-toolkit/commits/main\n```\n\n两者一致 = 你装的就是 main 最新。不一致 = 需要：\n\n```\n/plugin marketplace update disciplined-delivery-toolkit\n/reload-plugins\n```\n\n\u003e alpha 阶段高频更新。如发现 hook 报错，先 `/plugin marketplace update` + `/reload-plugins` 再排查。stable 发布时切回语义版本（`1.0.0`、`1.0.1`...），届时 bump 才意味着新版。\n\n---\n\n## 5 分钟上手\n\n在**任何一个项目目录**（不是 DDT 自己的目录！）打开 Claude Code，敲：\n\n```\n/ddt 我想给部门做一个会议室预订小工具，避免冲突，支持周期性预订\n```\n\nDDT 会根据当前项目状态**向导**：\n\n- 无 spec → 引导调用 `ddt-brainstorming`，产 `docs/specs/` 设计文档，等你审批；\n- 有 spec 未过闸 → 引导 `ddt-design-checkpoint`（七问），判定是否进入 planning；\n- 过闸后 → 引导 `ddt-writing-plans` 拆任务 → `ddt-subagent-driven` 三角执行（TDD 强制）；\n- 完成后 → 按需用 `ddt-deliver` 收口，生成 ROI 报告。\n\n任何时候敲 `/ddt-status` 看当前位置：\n\n```\n/ddt-status\n→ 当前阶段：实现\n→ 进行中任务：3/8\n→ 待决策：1 条（pending）\n```\n\n---\n\n## 三种入口（解释，不是强制路由）\n\n1. **开发者局部想法** → 直接 superpowers 原生链路。bug / 重构 / 测试补强 / 性能 / 探索都走这条。\n2. **大需求** → 先跑一条 superpowers 链路把它当**文档资产**实现，产 `docs/requirements/` + `docs/briefs/`，再逐个处理。\n3. **brief 驱动** → brief → brainstorming → Design Checkpoint → writing-plans → implementation → review。\n\n不是所有工作都要 requirements/briefs，也不是所有工作都要 verification/delivery。右尺寸。\n\n---\n\n## 命令与 Skill 清单\n\n### 命令（2 个，故意只有这么少）\n\n- **`/ddt [一句话意图]`** —— 向导闸门。读取项目状态，按上下文引导下一步；不拦截自由工作。\n- **`/ddt-status`** —— 只读重算，调用 `bin/ddt-status.mjs` 输出当前事实快照。\n\n### Skill 清单（13 个，2 组）\n\n**治理外壳（DDT 原生，4 个）**：\n\n- `using-ddt` —— 取向文档（SessionStart 注入；四句北极星、三种入口、路径即指令）\n- `ddt-design-checkpoint` —— 设计过闸（七问习惯，设计进计划前的最小留痕）\n- `ddt-deliver` —— 收口（按需：ROI 报告 + 决策/变更归档）\n- `ddt-design-source` —— 外部 UI 设计回环（v0/figma/claude.ai/design 集成，按需）\n\n**纪律基底（vendoring superpowers，9 个）**：\n\n- `ddt-brainstorming` ← brainstorming\n- `ddt-writing-plans` ← writing-plans\n- `ddt-subagent-driven` ← subagent-driven-development\n- `ddt-executing-plans` ← executing-plans\n- `ddt-tdd` ← test-driven-development\n- `ddt-systematic-debugging` ← systematic-debugging\n- `ddt-verification` ← verification-before-completion\n- `ddt-requesting-review` ← requesting-code-review\n- `ddt-receiving-review` ← receiving-code-review\n\n\u003e Vendoring 而非依赖：用户只装 DDT 一个 plugin 就能用全套，不需要先装 superpowers。9 个 skill 原文照搬（仅 name 加 `ddt-` 前缀以防命名冲突），授权保留（见 [LICENSE](./LICENSE) Third-Party Notices）。\n\n### Hooks（3 个，全被动/注入，无强制层）\n\n| Hook ID | 触发时机 | 作用 |\n|---------|---------|------|\n| `ddt:inject` | SessionStart | 把 `using-ddt` 注入会话（取向、路径规约） |\n| `ddt:metrics-post` | PostToolUse `*` | 被动埋点（工具调用计数、耗时、文件改动） |\n| `ddt:metrics-end` | SessionEnd | 落 `.ddt/metrics/YYYY-MM-DD.jsonl` |\n\n**无强制层、不拦截任何工具调用**。DDT 的纪律和 superpowers 完全一样，靠\"1% 也要 invoke 相关 skill\"的行为约束承载（见 `using-ddt`），不靠 hook 闸机。这 3 个 hook 只做 using-ddt 注入与被动度量，不改 superpowers 原生体验。\n\n---\n\n## 物理结构\n\n```\ndisciplined-delivery-toolkit/\n├── .claude-plugin/\n│   ├── marketplace.json     ← marketplace 注册\n│   └── plugin.json          ← plugin 元数据\n├── commands/                ← /ddt, /ddt-status\n├── skills/                  ← 18 个 SKILL.md（4 原生 + 14 vendoring，其中 using-ddt 由 using-superpowers 改编）\n├── hooks/\n│   ├── hooks.json           ← 注册 3 个 hook（注入 + 被动度量）\n│   └── handlers/            ← *.mjs handler 实现\n├── bin/                     ← 承重 CLI 工具（零依赖）\n│   ├── ddt-status.mjs       ← /ddt-status 数据源\n│   ├── ddt-decisions-append.mjs\n│   ├── ddt-changelog-append.mjs\n│   ├── ddt-hook-preflight.mjs\n│   ├── ddt-report.mjs       ← ROI 报告生成\n│   └── ddt-doctor.mjs       ← 健康检查\n├── tests/                   ← node --test，零依赖，全量绿\n│   ├── unit/\n│   └── integration/\n├── docs/\n│   ├── specs/               ← design spec 集合\n│   ├── plans/               ← 实施计划\n│   └── research/            ← 背景调研\n├── LICENSE\n├── README.md\n└── package.json\n```\n\n**项目 docs/.ddt 路径规约**（以你自己的项目为例）：\n\n```\n\u003cyour-project\u003e/\n├── docs/\n│   ├── requirements/        ← 大需求切片输入（按需）\n│   ├── briefs/              ← 切片 brief（按需）\n│   ├── specs/               ← design spec\n│   ├── plans/               ← writing-plans 产出\n│   ├── api/                 ← OpenAPI / 契约（按需）\n│   ├── data/                ← data model（按需）\n│   ├── design/              ← UI/架构设计（按需）\n│   ├── verification/        ← 验收证据（按需）\n│   └── delivery/            ← 交付说明（按需）\n└── .ddt/\n    ├── decisions.jsonl      ← 人工决策账本（入 git）\n    ├── changelog.jsonl      ← 变更账本（入 git）\n    ├── state/               ← 工作态（transient，不入 git）\n    └── metrics/             ← 被动度量（transient，不入 git）\n```\n\n---\n\n## 技术原则\n\n1. **零依赖**：`bin/`、`hooks/handlers/` 只用 Node 内置模块（`node:fs`、`node:path`、`node:child_process`）。`package.json` `dependencies: {}` `devDependencies: {}`。\n2. **零网络**：DDT 运行时不联网。所有判定和决策来自本地文件。\n3. **ESM `.mjs`**：所有脚本 ECMAScript Modules，Node ≥ 22。\n4. **测试用 `node --test`**：不引第三方测试框架。\n5. **Hook 只读文件、不读对话**：判定不可被对话上下文影响。\n6. **`${CLAUDE_PLUGIN_ROOT}` 占位**：hooks.json 用占位符引用 handler，跨用户、跨安装目录、跨 plugin 名字都能工作。\n\n---\n\n## 配置与扩展\n\n### 多人协作\n\nDDT 用 **git native 能力** + 2 个轻约定支持团队多人协作，**不自创新机制**：\n\n**1. `.gitattributes` union merge driver**：解决两人并发 append `decisions.jsonl`/`changelog.jsonl` 时的 git conflict。**复制 plugin 仓库根的 `.gitattributes` 到你项目根**即可：\n\n```bash\n# 在你的项目根\ncurl -O https://raw.githubusercontent.com/dhslegen/disciplined-delivery-toolkit/main/.gitattributes\n# 或手动创建，内容见 plugin 仓库根的 .gitattributes\n```\n\n`/ddt 自检` 会检测项目根有没有 union merge 配置，缺失时提示你加。\n\n**2. 切片 branch 命名约定 `slice/\u003cslice-id\u003e`**：每个切片在独立 git branch 上开发：\n\n```bash\ngit checkout -b slice/us-3       # 起切片\ngit push -u origin slice/us-3    # push 让团队看见 = claim\n# ... 开发 ...\n# merge 回 main 后删 branch = release\n```\n\n`/ddt-status` 会自动 `git for-each-ref` 列出所有 `slice/*` branch，**输出\"谁在做什么切片\"给团队**——不需要新 SSoT 文件，git branch 本身就是 ground truth。\n\n\u003e ⚠️ **多人协作的局限**：当前只做了基础协作支持（避免 jsonl 冲突 + 切片可见性）。**未做**：跨 plugin 版本协商、共享 review 状态、错误恢复协调。stable 阶段补足。\n\n### 添加新 skill\n\n把新的 `SKILL.md` 扔进 `skills/\u003cslug\u003e/`，Claude Code 会自动发现。命名建议加 `ddt-` 前缀避免和其他 plugin 冲突。\n\n---\n\n## 已知边界（v1.0 → v1.x 待补）\n\n诚实声明，避免\"形似神异\"：\n\n- ⚠️ **`.ddt/state/current.json` 跨进程一致性未做真实环境验收**：在并发会话场景（两个 Claude Code 同时开）可能存在 race condition。当前实现是 last-write-wins。\n- ⚠️ **Baseline 导入工具未做**：从历史项目导入 baseline 工时还需要手工编辑 `.ddt/metrics/`。\n- ⚠️ **TDD-for-skills 对抗测试未做**：vendoring 的 9 个 superpowers skill 在 DDT 环境下的实际效果还需要 dogfood 验证。\n- ⚠️ **多 harness 适配未做**：当前只验证过 Claude Code。Codex / Cursor / Gemini CLI 适配未做。\n\n---\n\n## 致谢\n\n- **[Jesse Vincent (obra) \u0026 superpowers contributors](https://github.com/obra/superpowers)** —— 没有 superpowers 的纪律基底（brainstorm/plan/implement、TDD、subagent triangle、verification-before-completion），DDT 不会有这条脊柱。DDT v1.0 直接 vendoring 了 9 个 superpowers skill 原文（见 [LICENSE](./LICENSE) Third-Party Notices）。**DDT 是站在 superpowers 肩膀上**。\n- **[ECC (Everything Claude Code)](https://github.com/anthropics/claude-code)** —— Claude Code plugin / hooks / skills / subagents 系统提供了治理外壳能挂载的基础设施。\n- **DDT v0.x（digital-delivery-team）** —— 走过 6 阶段团队 agent 编排的路线，v1.0 是它的彻底重构。v0.x 在 `../digital-delivery-team` 保留不动。\n\n---\n\n## 协议\n\n[MIT](./LICENSE) © 2026 赵文昊。\n\nvendoring 的 superpowers skill 保留原 [MIT License](./LICENSE) Copyright (c) 2025 Jesse Vincent and superpowers contributors。\n\n---\n\n## 进一步阅读\n\n- 重设计规格：[`docs/specs/2026-05-22-ddt-superpowers-faithful-redesign-design.md`](./docs/specs/2026-05-22-ddt-superpowers-faithful-redesign-design.md) —— v1.0 完整设计规格\n- 实施计划：[`docs/plans/`](./docs/plans/)\n- 背景调研：[`docs/research/`](./docs/research/) —— superpowers 深度调研 + 领导愿景\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhslegen%2Fdisciplined-delivery-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhslegen%2Fdisciplined-delivery-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhslegen%2Fdisciplined-delivery-toolkit/lists"}