跳转到内容
GitHub

工作流程

Claude Code 不强加特定工作流,给你充分的灵活性。本文介绍已被证明有效的各种工作流模式和优化技巧。

探索、规划、编码、提交(EPCI)

Section titled “探索、规划、编码、提交(EPCI)”

这是适用于多种问题的通用工作流,特别适合复杂功能开发:

# 让 Claude 先理解现状,明确告知不要写代码
> 请阅读处理用户认证的相关文件,了解当前的实现方式。暂时不要写任何代码,先帮我理解架构。

# 让 Claude 使用子代理进行深度调研
> 请使用子代理详细调研现有的日志系统,包括日志格式、存储位置、轮转策略等。

探索阶段最佳实践

  • 给出大致指示(如”读处理日志的文件”)或具体文件名
  • 充分利用子代理进行细节核查
  • 让 Claude 先理解业务逻辑,再考虑技术实现
# 触发扩展思考模式,获得更多计算时间
> think hard: 如何重构当前的用户认证系统以支持多种登录方式?

# 思考预算级别:think < think hard < think harder < ultrathink
> ultrathink: 设计一个可扩展的微服务架构来处理高并发用户请求

规划阶段最佳实践

  • 使用不同级别的”think”指令分配思考预算
  • 让 Claude 创建 GitHub issue 或文档记录计划
  • 制定明确的验证标准和成功指标
# 让 Claude 按计划实施,并在过程中验证
> 根据我们制定的计划,开始实现用户认证重构。请在实现过程中验证每一步是否符合设计原则。
# 自动化提交和 PR 创建
> 请提交这些更改并创建 PR,确保提交信息清晰描述了重构的目标和影响。

特别适合功能明确、可测试的开发场景:

  1. 编写测试
> 我们要实现一个用户注册功能。请先编写测试用例,包括成功注册、重复邮箱、无效输入等场景。明确说明这是 TDD,不要写 mock 实现。
  1. 验证测试失败
> 运行测试并确认它们按预期失败。不要写任何实现代码。
  1. 提交测试
> 对测试满意后,请提交这些测试用例。
  1. 实现功能
> 现在编写通过测试的代码。不要修改测试,专注于实现功能直到所有测试通过。
  1. 迭代优化
# 让独立子代理验证实现质量
> 请启动一个子代理来审查当前的实现,确保它没有过拟合测试用例。

适合 UI 开发、数据可视化等需要视觉反馈的工作:

# 配置截图工具(如 Puppeteer MCP 服务器)
# 或准备手动截图工具
  1. 提供视觉目标

    • 粘贴设计稿或 mockup
    • 拖拽参考图片到输入框
    • 明确说明”结果需要美观”
  2. 实现并截图

> 实现这个用户仪表板界面,完成后请截图展示结果,与提供的设计稿对比。
  1. 迭代改进
> 当前的实现与目标设计在颜色和布局上有差异,请调整以更好地匹配设计稿。
  1. 最终确认
> 满意后请提交所有更改。

适合批量修复、样板代码生成等低风险场景:

  • 修复 lint 错误
  • 生成样板代码
  • 批量重命名
  • 简单的重构任务
# 在隔离环境中使用
docker run -it --rm -v $(pwd):/workspace node:latest bash
cd /workspace && claude --dangerously-skip-permissions

# 或使用 Dev Containers
# 在 .devcontainer/devcontainer.json 中配置无网络访问
> 修复所有的 ESLint 错误,包括格式化、导入排序、未使用变量等。

适合新项目学习、代码审查、知识传递:

# 架构理解
> 这个项目的整体架构是怎样的?数据流如何?

# 功能实现
> 用户认证是如何实现的?包含哪些安全措施?

# 代码细节
> src/utils/helpers.js 第 45 行的这个函数是做什么的?为什么这样设计?

# 比较分析
> 这个 Python 函数在 JavaScript 中的等价实现是什么?
# 让 Claude 自动探索代码库
> 分析这个 React 应用的状态管理模式,识别所有的状态来源和数据流。

# 边界情况分析
> CustomerOnboardingFlowImpl 类处理了哪些边界情况?是否有潜在的安全风险?

Claude 可以处理 90% 以上的 git 操作:

> 搜索 git 历史,找出 v1.2.3 版本包含了哪些重要更改?

> 谁最近修改了用户认证相关的代码?这些更改的背景是什么?

> 这个 API 端点为什么要这样设计?请查看相关的 commit 历史和 PR 讨论。
> 查看我的更改并生成合适的提交信息,确保遵循项目的提交规范。

# Claude 会自动:
# 1. 运行 git status 和 git diff
# 2. 分析更改内容
# 3. 查看最近的提交历史了解风格
# 4. 生成符合规范的提交信息
> 我需要回滚 src/auth.js 文件到三个提交之前的版本,但保留其他文件的当前更改。

> 帮我解决这个 rebase 冲突,优先保留 feature 分支的更改。

> 将 feature-A 分支的特定提交移植到 feature-B 分支。
# 创建 PR
> 为当前分支创建 PR,根据更改内容生成合适的标题和描述。

# 处理 PR 反馈
> 修复 PR #123 中的所有审查评论,完成后推送到对应分支。

# 分析构建失败
> PR #456 的 CI 构建失败了,请分析失败原因并修复。
# 自动化 issue 处理
> 分析 issue #789 并实现修复方案,包括测试和文档更新。

# 批量 issue 管理
> 循环处理所有标记为 "bug" 的 open issues,提供修复建议或关闭不再相关的 issues。

适合数据科学、研究、实验性开发:

# VS Code 中并排打开 Claude Code 和 .ipynb 文件
> 分析这个数据集的基本统计信息,识别异常值和数据质量问题。

> 为这个时间序列数据创建可视化图表,重点展示趋势和季节性模式。
# 性能优化
> 优化这个 pandas 操作的性能,考虑内存使用和执行速度。

# 可视化美化
> 让这些图表更美观,改善配色、标签和布局。
# 任务完成后及时清理上下文
/clear

# 长任务分解
> 这是一个复杂的任务,请先制定清单,然后我们逐项完成。
# 使用 Markdown 清单跟踪进度
> 创建一个 GitHub issue 来跟踪这个重构任务的进度,包含所有子任务。

# 草稿本协作
> 在 draft.md 文件中记录当前的进展和下一步计划。
# 中断和重定向
# 按 Escape 键中断 Claude,然后:
> 停止当前的方法,我们换个思路...

# 历史编辑
# 双击 Escape 回到历史,编辑之前的提示
# 详细指令(好的示例)
> 参考 HotDogWidget.php 的实现模式,创建一个日历 widget。支持月份选择和年份翻页,使用项目现有的 UI 组件库,不引入新依赖。

# 模糊指令(避免)  
> 做一个日历功能。
# 直接粘贴(小量数据)
> 分析这个错误日志:[粘贴日志内容]

# 管道输入(大量数据)
cat application.log | claude

# 文件引用(结构化数据)
> 读取 data/users.csv 文件并分析用户行为模式。

# URL 获取(在线资源)
> 分析这个 API 文档:https://docs.example.com/api
#!/bin/bash
# migrate-files.sh

for file in src/legacy/*.js; do
    echo "Migrating $file..."
    claude -p "Migrate $file from jQuery to React. Return OK if successful, FAIL if failed." \
           --allowedTools "Edit" \
           --output-format json >> migration-log.json
done
# .github/workflows/claude-review.yml
name: Claude Code Review
on: [pull_request]

jobs:
  claude-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Run Claude Code Review
        run: |
          claude -p "Review this PR for security issues and code quality problems" \
                 --output-format stream-json > review-output.json
# .git/hooks/pre-commit
#!/bin/bash
claude -p "Check for common issues in staged files: security vulnerabilities, code smells, inconsistent formatting" --allowedTools "Grep,Read"
  • 简单任务:直接编码 → 提交
  • 复杂功能:探索 → 规划 → 编码 → 提交(EPCI)
  • 已知需求:测试驱动开发(TDD)
  • UI/可视化:可视化迭代开发
  • 批量操作:安全 YOLO 模式
  • 学习探索:代码库问答模式
  1. 明确阶段分离:探索、规划、实现、验证各有侧重
  2. 充分利用工具:git、GitHub、MCP、自定义命令
  3. 及时保存状态:使用清单、草稿本跟踪进度
  4. 适时清理上下文:保持 Claude 的注意力聚焦
  5. 迭代改进:根据结果调整工作流模式

通过掌握这些工作流模式,你可以根据具体任务选择最适合的方法,最大化 Claude Code 的效率和准确性。