实战

Harper Reed 的 Claude Code 实战工作流:Spec 驱动开发 + TDD + 提交计划的黄金组合

Harper Reed 分享的 Claude Code Spec 驱动开发工作流:用推理模型(o1/o3)生成规格说明和提示计划,Claude Code 按计划逐步执行并自动追踪进度。配合 TDD、Linting、Pre-commit Hooks 三大防御性编码实践,团队在 30-45 分钟内完成新功能开发。

2026/2/285分钟 阅读ClaudeEagle

Harper Reed(前奥巴马竞选 CTO)分享了他从 Aider 迁移到 Claude Code 之后打磨出的完整开发工作流。他的团队用这套方法显著提高了代码覆盖率和代码质量,在 30-45 分钟内完成一个新项目的 8-12 步开发计划。

核心工作流程(5 步)

Step 1:用 GPT-4o 打磨想法

工具:GPT-4o(对话式头脑风暴) 目的:厘清思路,确定方向

Step 2:用推理模型生成规格说明

工具:o1-pro 或 o3 输出:spec.md(详细功能规格)

Step 3:用推理模型生成提示计划

工具:同上 输出:prompt_plan.md(分步实现提示列表) 技巧:用 LLM 生成 Prompt 是个「很美的 Hack」

Step 4:将文件放在项目根目录

project/ ├── spec.md ← 功能规格 ├── prompt_plan.md ← 实现计划(带完成状态标记) └── ...

Step 5:Claude Code 自动执行计划

这是整个流程的核心 Prompt:

1. 打开 @prompt_plan.md 并找出所有未标记为完成的提示。 2. 对每个未完成的提示: - 再次确认它是否真的未完成(如不确定,请求确认)。 - 如果确认已完成,跳过它。 - 否则按描述实现它。 - 确保测试通过,程序能构建/运行。 - 将变更提交到 Git,写清晰的提交信息。 - 更新 @prompt_plan.md,将此提示标记为完成。 3. 每完成一个提示后,暂停等待用户审查或反馈。 4. 根据用户指示继续下一个未完成的提示。

这个 Prompt 的魔力

  • 自动追踪进度(通过 prompt_plan.md 中的完成状态)
  • 每步都验证(测试通过 + 能构建)
  • 每步都提交(Git 历史清晰)
  • 每步完成后暂停等待确认

Harper 只需要不断回复「yes」就能推进整个开发过程。

三个防御性编码超能力

1. TDD(测试驱动开发)

Harper 曾经是 TDD 的反对者,现在是坚定支持者:

「机器人超级喜欢 TDD。认真的,它们对此如饥似渴。」

Claude Code + TDD 的标准流程

  1. 让 Claude 先写测试和 Mock
  2. 下一个提示让 Claude 把 Mock 变成真实实现
  3. Claude 喜欢这种节奏,是防止幻觉和「范围漂移」最有效的方法

2. Linting(代码质量检查)

推荐工具:

  • Python:Ruff(速度极快)
  • JavaScript/TypeScript:Biome
  • Rust:Clippy(名字也很可爱)

「不知为何,机器人超级喜欢运行好的 Linter。」

配合 Formatter 一起使用,代码可读性大幅提升。

3. Pre-commit Hooks(提交前自动检查)

这是「让 Claude Code 自动变乖」的关键技巧:

bash
# 安装 pre-commit
uv tools install pre-commit

创建 .pre-commit-config.yaml,配置测试、类型检查、Lint、格式化等。

为什么对 Claude Code 特别有效

Claude Code 非常想提交代码。当你指示它「实现后提交」,它会做修改 → 提交 → 发现问题 → 修复 → 再次提交。Pre-commit Hook 确保每次提交都通过质量检查,不会把问题推到 GitHub Actions 里才发现。

CLAUDE.md 和自定义命令

Harper 的 CLAUDE.md 来自朋友 Jesse Vincent 的版本,包含:

  • 「大爸爸规则」的轻量版本(不造成伤害的约束)
  • TDD 实践说明
  • 代码风格偏好

「有个朋友把 CLAUDE.md 配置成叫他 MR BEEF,结果 MR BEEF 的信息嵌入了所有文档:'如果你卡住了,停下来问帮助——MR BEEF 可能最清楚。'」

「我决定让我的 CLAUDE.md 叫我 'Harp Dog'。这是特性,不是 Bug。」

自定义命令示例

命令文件放在 ~/.claude/commands/ 或项目的 .claude/commands/ 目录:

bash
# 使用 GitHub Issue 命令,传入 Issue 编号
/user:gh-issue #45

命令在 gh-issue.md 文件中定义为提示模板,Claude 会按照模板处理对应的 Issue。

不同项目可以有不同的命令集(Hugo 项目、Rust 项目、Python 项目各自的最佳实践命令)。

真实案例:一小时实现 BASIC 解释器

Harper 的朋友 Bob 挑战他:「用一个你不熟悉的语言,构建一个你不了解的东西。」

Bob 的挑战:用 C 写一个 BASIC 解释器(Harper 不懂 C,也不太懂解释器原理)。

按照上述流程执行后:

团队采用情况

Harper 的整个团队都在使用这套工作流:

  • 测试覆盖率比以往任何时候都高
  • 代码质量更好
  • 有人用 Ghostty、有人用 VS Code terminal、有人用 Zed terminal——Claude Code 到处都在运行

一个有趣的注意事项:

「Claude 就是无法正确使用 uv。如果你不小心,它会到处 pip install。就算你让它用 uv,它也只会用 uv pip install。也许 AGI 不会在六月出现。好伤心。」

总结:这套工作流的精髓

  1. 先 Spec,再 Code:让推理模型生成详细规格和分步计划
  2. 计划驱动执行:Claude Code 按 prompt_plan.md 逐步推进,自动追踪进度
  3. TDD 防止漂移:先测试后实现,每步都有验证
  4. Pre-commit 保质量:提交前强制通过所有检查
  5. CLAUDE.md 个性化:用项目/个人偏好文件定制 Claude 的行为

原文:Basic Claude Code | 来源:Harper Reed 的博客

相关文章推荐

实战实战者说:Harper Reed 分享 Claude Code 真实工作流——TDD、预提交钩子与 prompt_planHarper Reed(奥巴马 2012 竞选技术总监)分享 Claude Code 真实工作流:GPT-4o 打磨想法→推理模型生成 spec.md→生成 prompt_plan.md→Claude 自动执行计划,配合 TDD、Linting 和 Pre-commit Hooks 三大防御性实践,实现 30-45 分钟完成完整开发计划。2026/3/2实战从 Cursor 用户到 Claude Code 深度用户:最实用的使用技巧合集Builder.io CTO Steve Sewell 从 Cursor 切换到 Claude Code 的实战经验:跳过权限提示的正确姿势、终端非直觉操作大全、消息队列让 Claude 24/7 工作、让 Claude 自动建立项目配置、自定义斜杠命令,以及处理 18000 行超大文件的独特能力。2026/2/28实战Claude Code 测试驱动开发(TDD)实战:AI 辅助红绿重构循环完全指南Claude Code 与测试驱动开发(TDD)深度结合实战:让 Claude 先写测试再写实现的完整工作流、Red-Green-Refactor 循环的 AI 辅助方式、测试用例描述转换为 Jest/pytest/Go test 测试代码、边界条件和异常路径的自动发现、用 Claude 做变异测试(Mutation Testing)发现测试盲区、提升测试质量的提示词技巧,以及 TDD 在遗留代码改造中的应用方法。2026/3/20实战Claude Code Hooks 实战:每次保存自动格式化、拦截危险命令、桌面通知Claude Code Hooks 实战教程:五个即用示例(桌面通知/文件自动格式化/危险命令拦截/压缩后上下文注入/配置变更审计)、Hook 配置位置(全局/项目/本地)、退出码含义(允许/上下文/阻止)、七大 Hook 事件速查表、Prompt-based AI 判断 Hook 进阶用法。2026/3/14实战用 AI 写单元测试:Claude Code 自动化测试生成完全指南Claude Code AI 自动化测试生成完全指南:为什么 AI 特别适合写测试、Jest/pytest/JUnit 三大框架使用示例、四大高价值测试场景(提升覆盖率/TDD/回归测试/批量补测试)、高质量测试 Prompt 写法、CLAUDE.md 固化测试规范与常见问题解答。2026/3/14实战Claude Code 日常工作流实战:探索代码库、Plan Mode、Git Worktree 并行开发与管道集成Claude Code 13 大日常工作流实战:五步探索陌生代码库(从宏观到微观的提示词序列)、Plan Mode 安全规划(--permission-mode plan/Shift+Tab 切换/配置为默认)、专用 Subagent 配置、TDD 测试工作流、Git Worktree 并行开发(-w flag 自动创建/两终端并行任务)、Unix 管道集成(git diff | claude -p/--output-format json/CI 成本控制),以及扩展思考模式和会话管理。2026/3/5