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 的标准流程:
- 让 Claude 先写测试和 Mock
- 下一个提示让 Claude 把 Mock 变成真实实现
- Claude 喜欢这种节奏,是防止幻觉和「范围漂移」最有效的方法
2. Linting(代码质量检查)
推荐工具:
- Python:Ruff(速度极快)
- JavaScript/TypeScript:Biome
- Rust:Clippy(名字也很可爱)
「不知为何,机器人超级喜欢运行好的 Linter。」
配合 Formatter 一起使用,代码可读性大幅提升。
3. Pre-commit Hooks(提交前自动检查)
这是「让 Claude Code 自动变乖」的关键技巧:
# 安装 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/ 目录:
# 使用 GitHub Issue 命令,传入 Issue 编号
/user:gh-issue #45命令在 gh-issue.md 文件中定义为提示模板,Claude 会按照模板处理对应的 Issue。
不同项目可以有不同的命令集(Hugo 项目、Rust 项目、Python 项目各自的最佳实践命令)。
真实案例:一小时实现 BASIC 解释器
Harper 的朋友 Bob 挑战他:「用一个你不熟悉的语言,构建一个你不了解的东西。」
Bob 的挑战:用 C 写一个 BASIC 解释器(Harper 不懂 C,也不太懂解释器原理)。
按照上述流程执行后:
- 第一个可工作的版本:不到 1 小时
- 再调整几小时后,质量相当不错
- 完整项目:github.com/harperreed/basic
团队采用情况
Harper 的整个团队都在使用这套工作流:
- 测试覆盖率比以往任何时候都高
- 代码质量更好
- 有人用 Ghostty、有人用 VS Code terminal、有人用 Zed terminal——Claude Code 到处都在运行
一个有趣的注意事项:
「Claude 就是无法正确使用
uv。如果你不小心,它会到处pip install。就算你让它用uv,它也只会用uv pip install。也许 AGI 不会在六月出现。好伤心。」
总结:这套工作流的精髓
- 先 Spec,再 Code:让推理模型生成详细规格和分步计划
- 计划驱动执行:Claude Code 按 prompt_plan.md 逐步推进,自动追踪进度
- TDD 防止漂移:先测试后实现,每步都有验证
- Pre-commit 保质量:提交前强制通过所有检查
- CLAUDE.md 个性化:用项目/个人偏好文件定制 Claude 的行为
原文:Basic Claude Code | 来源:Harper Reed 的博客