Hermes STDD 手册
一句话操作
安装 https://github.com/leonai42/stdd.git用 STDD [要做的事]卸载 STDDSTDD 项目
STDD (Spec+Test Driven Development) 是一套 Spec 先行 + TDD 执行的 AI 辅助研发流程方法论,由 leonai42 开发,MIT 许可证。
- GitHub: leonai42/stdd
- 版本: V2.3 (2026-05-18)
- 语言: Python 3.10+ (CLI),中英双语文档
- 核心理念: 先定义行为 (Spec),再编写测试 (Test),最后实现代码
- 平台: Claude Code / Cursor / Copilot / Aider / WorkBuddy / Trae / Windsurf → Hermes Agent
通过 6 个有序阶段 + 3 道强制确认门 + 11 类失败模式检查 + 双向可追溯链,将模糊需求转化为高质量交付。支持 5 门语言(Python / Java / Go / Rust / TypeScript)。
STDD 流程示意图
=== 六阶段流程 ===
需求输入
│
v
[P1] UNDERSTAND ------------> proposal.md
│ │
│ v
│ [Gate 1] 用户确认
│ │ 确认通过
v v
[P2] SPEC (最关键阶段)
├── design.md (技术设计)
├── specs/*.md (行为规格 GIVEN/WHEN/THEN)
└── test-plan.md (测试方案 TC-ID 映射)
│
v
[Gate 2] 用户确认
│ 确认通过
├── 长程模式 ─── P3-P5 全自动执行, 仅 Gate 3 暂停
└── 交互模式 ─── P3-P5 按需暂停交互
│
v
[P3] SLICE ---------> tasks.md + slices.md
每个切片: 1 Scenario → 1+ 测试 → 1 个实现单元
│
v
[P4] BUILD ---------> RED → GREEN → REFACTOR
逐切片 TDD 循环:
RED = 写测试 → 确认 FAIL
GREEN = 最小实现 → 确认 PASS
REFACTOR = 重构 → 保持绿色
设计偏离自动记录到 pending-adjustments.md
│
v
[P5] VERIFY --------> test-report.md + design-adjustments.md
├── 全量测试 + 覆盖率诊断
├── 11 类失败模式检查
├── Diff 审查
└── 普通5轮 / 长程10轮修复
│
v
[Gate 3] 用户终审
│ 确认通过
v
[P6] DELIVER -------> archive + merge specs + git tag
11 类失败模式: 幻觉行为 / 范围蔓延 / 级联错误 / 上下文丢失 / 工具误用 / 运行时行为偏差 / 管线断链 / 内容质量偏差 / 指令衰减 / 覆盖真空 / 契约断层
STDD 目录结构
~/.stdd/
├── bin/stdd CLI 入口
├── .stdd/
│ ├── skills/ 6 阶段技能指令
│ │ ├── understand.md P1 需求理解
│ │ ├── spec.md P2 规格设计
│ │ ├── slice.md P3 切片规划
│ │ ├── build.md P4 TDD 实现
│ │ ├── verify.md P5 质量验证
│ │ └── deliver.md P6 交付
│ ├── templates/ 9 个文档模板
│ │ ├── proposal.md P1 需求提案
│ │ ├── design.md P2 技术设计
│ │ ├── spec.md P2 行为规格
│ │ ├── test-plan.md P2 测试方案
│ │ ├── tasks.md P3 任务列表
│ │ ├── slices.md P3 切片清单
│ │ ├── test-report.md P5 质量报告
│ │ ├── design-adjustments.md P5 设计调整汇总
│ │ └── long-range-auth.md 长程模式授权
│ ├── standards/ 5 语言开发规范
│ │ ├── python.md
│ │ ├── java.md
│ │ ├── go.md
│ │ ├── rust.md
│ │ └── typescript.md
│ ├── config.d/ 模块化配置
│ │ ├── project.yaml 项目配置
│ │ ├── gates.yaml 确认门配置
│ │ ├── long_range.yaml 长程模式配置
│ │ └── quality.yaml 质量阈值配置
│ └── platforms/ 多平台适配
├── STDD.md 通用流程指引
├── DESIGN.md 系统设计文档
├── DEPLOY.md 部署与使用指南
├── EXTENDING.md 扩展开发指南
├── TROUBLESHOOTING.md 故障排除
├── CHANGELOG.md 变更日志
├── AGENTS.md AI 记忆文件
├── changes/ (项目 init 后) 活跃变更
├── specs/ (项目 init 后) 主规范库
└── archive/ (项目 init 后) 归档
安装 STDD
对 Hermes 说一句:安装 https://github.com/leonai42/stdd.git
Hermes 执行的操作:
git clone --depth 1 https://github.com/leonai42/stdd.git ~/.stdd/
python3 -m pip install pyyaml pytest pytest-cov
# 自动创建 Hermes Skill: software-development/stdd
安装后状态:
~/.stdd/— STDD 系统文件- Hermes Skill —
skill_view('stdd')加载 6 阶段流程 - CLI —
python3 ~/.stdd/bin/stdd init|new|status|archive|... - 依赖 — pyyaml / pytest / pytest-cov
使用 STDD
对 Hermes 说:用 STDD [要做的事],自动进入 P1 需求理解流程。
用法一:小任务对话开发
用户: 用STDD帮我实现一个Markdown文件生成工具
P1 需求理解: 加载 skill_view('stdd') 读取 proposal.md 模板 → 生成提案
Gate 1 等待确认
P2 规格设计: 读取 spec.md + 设计/spec/test模板 → 设计文档 + 行为规格 + 测试方案
Gate 2 等待确认
P3-P5: 按切片 TDD 实现 → 质量验证 (11类失败模式)
Gate 3 等待终审
P6: 归档交付
用法二:技术调研
用户: 用STDD调研一下Hermes集成MCP的方案对比
P1: 调研提案 (范围: native-mcp vs 自定义MCP, 成功标准: 集成复杂度/功能/维护成本)
Gate 1 确认
P2: 调研架构设计、方案对比、关键决策记录
Gate 2 确认
P3-P5: 按维度切片 → 各维度搭建原型 → 汇总对比报告
Gate 3 确认
P6: 文档归档
用法三:项目设计开发
用户: 用STDD开发一个行情监控服务
P1: 需求提案 (监控范围 / 告警指标 / 数据源)
P2: 架构设计 + 行为规格 + 测试方案
P3: 切片 (数据接入 → 解析 → 告警 → 存储 → 展示)
P4: 逐切片 TDD (RED→GREEN→REFACTOR)
P5: 全量测试 + 覆盖率 + 11类失败模式检查
P6: 归档, merge specs, git tag v1.0
用法四:接手旧项目重构改造
用户: 用STDD重构遗留的Flask API项目
P1: 分析代码/识别技术债/定义重构范围
API兼容? 数据库变? 成功标准: 测试通过率/性能指标
Gate 1 确认
P2: 新架构 design.md + 每 API 的 spec
先为旧 API 写 characterization test 作为回归基线
Gate 2 确认
P3-P6: 模块划片 → 每片锁定行为→重构→验证→替换
Gate 3 审计
改进分析
STDD 原生的流程控制机制基于单 AI 对话 + 文件系统状态 + 顺序阶段推进。Hermes Agent 是多工具、多 session、可并行、有记忆的 Agent 系统,两者的范式差异决定了改进方向。
STDD 原生机制拆解
流程控制: .stdd.yaml 状态文件驱动
AI 读取 skill 文件 → 按指令执行 → 写产出物 → 等用户确认
顺序推进 (P1→P2→P3→P4→P5→P6), 一次只能一个 change
阶段切换: 用户发 "/stdd-spec" 或 "/stdd-continue" 触发
AI 读对应的 skill 文件获取指令
或长程模式: AI 读完 Gate 2 后自主判断继续下一阶段
确认门: 3 个 Gate 由用户输入确认信号触发
Gate 后读取下一个 skill 文件和模板
产出物: Markdown 文件写入 changes/<name>/ 目录
模板先行: AI 先读模板再生成文稿
质量验证: 5-10 轮迭代, 每轮 pytest + 11类检查
3 个 Review Agent 审查代码/测试/文档
不足分析
| 维度 | STDD 原生做法 | Hermes 下的问题 |
|---|---|---|
| 流程控制 | 靠 AI 记住当前阶段 + .stdd.yaml 文件状态 | Hermes 跨 session 后会丢失阶段上下文。文件状态的读取解析有歧义 |
| 阶段切换 | 斜杠命令 (/stdd-understand) 或长程模式自判 | Hermes 没有斜杠命令机制。长程自判在单 Agent 中可行,但无法利用 Hermes 的 delegation |
| P3 切片规划 | 拆成线性顺序切片,逐一切片执行 | Hermes 可用 delegate_task 并行执行独立切片,STDD 的线性切片浪费了并行能力 |
| P4 BUILD | 单 Agent 逐一做 RED→GREEN→REFACTOR | Hermes 每个切片可派独立 subagent 并行实现,主 agent 仅做协调和 merge。但 STDD 没有描述这种分工 |
| P5 VERIFY | 全量测试 + 人工逐项检查11类失败模式 | 11 类检查完全依赖 AI 自检,没有工具化。Diff 审查、范围蔓延检测等本可脚本化 |
| Gate 确认 | 用户在对话中输入确认 | Hermes 可通过 Telegram 确认、todo 系统等待、或 cron 定时回调。STDD 的纯对话确认在 Agent 中不够可靠 |
| 模板填充 | AI 读模板 → 按模板生成 → 写文件 | Hermes 可用 execute_code 配合模板变量填充,比人工阅读模板更精确一致 |
| 长程模式 | 预授权后 AI 自判执行, 最大限度 10 轮 | Hermes 可用 cronjob + delegate_task 链实现真正无人值守, 且不受单 Agent 上下文窗口限制 |
| 回顾追溯 | stdd trace 基于 TC-ID 映射文件 | Hermes 有 session_search 和 memory,可以用自然语言追溯,比 TC-ID 编码更灵活 |
| 11 类失败模式 | AI 逐项自检, 无自动化检查脚本 | 部分检查可工具化: (b)范围蔓延 → git diff --stat, (j)覆盖真空 → pytest --cov --cov-report=term-missing, (k)契约断层 → OpenAPI diff |
AI 开发模式项目
| # | 项目 | 创建 | ★ | 说明 |
|---|---|---|---|---|
| 1 | pharn-dev/pharn-oss | 2026-05-05 | 0 | PHARN — 审计级 AI 原生开发方法论,将 AI 对话转化为版本化制品 |
| 2 | hrmosaic/agentic-sdlc | 2026-05-04 | 0 | Agentic SDLC for Claude Code — 可部署的 AI-first 软件开发方法论 |
| 3 | leonai42/stdd | 2026-05-03 | 4 | STDD V2.3 — 本笔记安装的 Spec+Test Driven Development(6 阶段 + 3 门 + 11 类失败模式) |
| 4 | slackdevs/spec-driven-development-guides | 2026-04-23 | 3 | 基于形式化规格 + Agent 配置的 AI 辅助开发综合方法论 |
| 5 | WoJiSama/skill-based-architecture | 2026-04-08 | 260 | 基于技能架构 — 将项目规则和工作流蒸馏为 AI Agent 专有技能目录的元技能 |
| 6 | camalus/BHIL-AI-First-Development-Toolkit | 2026-03-27 | 128 | BHIL AI-First 开发工具包 — 人类做架构师,AI 做实现者的生产级方法论 |
| 7 | zhu1090093659/spec_driven_develop | 2026-03-21 | 847 | 闭环反馈控制的 AI 编码结构化开发方法论,受工程控制论启发 |
| 8 | fheikens/stdd | 2026-03-09 | 10 | STDD (Specification & Test-Driven Development) — AI 时代的软件开发方法论 |
| 9 | Gentleman-Programming/agent-teams-lite | 2026-02-16 | 1,203 | Agent Teams Lite — orchestrator + 9 个专用 sub-agent 的 spec 驱动开发框架 |
| 10 | MountainUnicorn/add | 2026-02-07 | 11 | ADD (Agent Driven Development) — 协同 AI Agent 团队,spec 驱动 TDD,信任但验证 |
| 11 | ChristopherKahler/paul | 2026-01-28 | 930 | PAUL (Plan-Apply-Unify Loop) — 结构化 AI 辅助开发的计划-应用-统一循环 |
| 12 | ericporres/llm-coding-workflow-skill | 2026-01-16 | 31 | LLM Coding Workflow Skill — 结构化 AI 结对编程:计划→分块执行→人类监督→细粒度提交 |
| 13 | tzachbon/smart-ralph | 2026-01-11 | 340 | Smart Ralph — 智能压缩 + spec 驱动的 Claude Code 插件 |
| 14 | pavel-molyanov/molyanov-ai-dev | 2025-12-22 | 215 | Molyanov AI-First 开发方法论 — spec 驱动管线,20+ skills/agents,团队协作执行 |
| 15 | ThibautBaissac/rails_ai_agents | 2025-12-09 | 559 | Rails AI Agents — Rails AI 开发专用:skills/agents/rules + SDD 工具包 |
| 16 | pmatheus/bmad | 2025-11-14 | 2 | BMAD Method — 完整 AI 辅助软件开发方法论,含 20 个工作流 + 8 个 Agent |
| 17 | Xpos587/domain-flow | 2025-11-03 | 4 | Domain Flow — DDD 领域驱动设计 + 7 步结构化 AI 编码工作流 |
| 18 | liatrio-labs/spec-driven-workflow | 2025-10-02 | 81 | 轻量级 markdown 规格驱动开发工作流,配合 AI 编程助手使用 |
| 19 | heihuzicity-tech/ClaudeCode-Kiro-Workflow | 2025-08-26 | 25 | SPECS Workflow for Claude Code — 需求→设计→任务→执行的系统化开发流程 |
| 20 | github/spec-kit | 2025-08-21 | 104,172 | GitHub 官方 Spec-Driven Development 工具包 |
| 21 | darrenhinde/OpenAgentsControl | 2025-08-14 | 4,084 | Plan-first AI agent 框架 —— 计划先行 + 批准执行 + 自动测试 + 审查验证 |
| 22 | Fission-AI/OpenSpec | 2025-08-05 | 49,610 | Spec-Driven Development (SDD) for AI coding assistants — AI 编程的规格驱动开发框架 |
| 23 | shotgun-sh/shotgun | 2025-08-05 | 673 | Spec Driven Development — 为 AI 编码 Agent 编写代码库感知的规格说明 |
| 24 | RickCogley/aichaku | 2025-07-05 | 6 | Aichaku (愛着) — AI 优化的 Claude Code 方法论辅助工具 |
| 25 | Goldziher/ai-rulez | 2025-06-24 | 116 | AI 开发工作流套件,19+ 工具内置 rules/agents/conventions,可生成本地配置 |
| 26 | promptdriven/pdd | 2025-05-22 | 702 | Prompt Driven Development — prompt 先行的软件开发方法论 + CLI 工具 |