Skip to content

常见工作流

探索新代码库

刚加入项目,需要快速了解代码库结构:

bash
cd /path/to/project
claude
给我一个这个代码库的概览

然后深入具体部分:

解释这里使用的主要架构模式
主要的数据模型有哪些?
认证是如何处理的?

查找相关代码:

找到处理用户认证的文件
这些认证文件是如何协作的?
从前端到数据库追踪登录流程

提示:安装对应语言的代码智能插件,给 Claude 精确的"跳转到定义"和"查找引用"导航能力。


高效修复 Bug

我运行 npm test 时看到一个错误
建议几种修复 user.ts 中 @ts-ignore 的方式
更新 user.ts,添加你建议的空值检查

提供复现命令获得更好的结果:

运行 `npm test -- --testFile auth.test.ts` 查看失败情况,然后修复根本原因

代码重构

找出代码库中使用废弃 API 的地方
建议如何重构 utils.js 使用现代 JavaScript 特性
重构 utils.js 使用 ES2024 特性,同时保持相同的行为
运行被重构代码的测试

使用计划模式

计划模式让 Claude 用只读操作分析代码库,非常适合探索、规划复杂改动或安全审查代码。

开启方式:

  • 在会话中按 Shift+Tab 循环切换到计划模式(终端底部显示 ⏸ plan mode on
  • 启动时指定:claude --permission-mode plan
  • 非交互式:claude --permission-mode plan -p "分析认证系统并建议改进"

示例:规划复杂重构

bash
claude --permission-mode plan
我需要将认证系统重构为 OAuth2。创建详细的迁移计划。

Claude 分析当前实现后进行追问:

向后兼容性怎么处理?
数据库迁移应该怎么做?

Ctrl+G 在编辑器中打开计划,可以直接编辑后让 Claude 执行。

设置默认计划模式:

json
// .claude/settings.json
{
  "permissions": {
    "defaultMode": "plan"
  }
}

编写测试

找出 NotificationsService.swift 中没有测试覆盖的函数
给通知服务添加测试
为通知服务添加边界条件的测试用例
运行新测试并修复所有失败

Claude 会根据项目现有的测试模式、框架和断言风格来生成测试。提供你想验证的具体行为,它会分析代码路径,建议错误条件、边界值和容易忽略的异常输入的测试。


创建 Pull Request

直接说:

为我的改动创建一个 PR

或者分步骤:

总结我对认证模块所做的改动
创建一个 PR
增强 PR 描述,添加更多关于安全改进的上下文

gh pr create 创建 PR 时,会话自动关联到该 PR。之后可以用 claude --from-pr <number> 恢复会话。


处理文档

找出 auth 模块中没有 JSDoc 注释的函数
给 auth.js 中未注释的函数添加 JSDoc 注释
用更多上下文和示例改进生成的文档

处理图片

在 Claude Code 中使用图片的方法:

  • 拖放图片到 Claude Code 窗口
  • 复制图片后用 Ctrl+V 粘贴(不是 Cmd+V)
  • 提供路径:分析这张图片:/path/to/image.png
这张截图中的错误是什么原因造成的?
根据这张设计稿生成对应的 CSS

@引用文件和目录

@ 快速引用文件,无需等 Claude 读取:

解释 @src/utils/auth.js 中的逻辑
@src/components/ 的结构是什么?

并行会话(Git Worktrees)

需要同时处理多个任务时,用 git worktrees 给每个 Claude 会话独立的代码副本:

bash
# 在名为 "feature-auth" 的 worktree 中启动 Claude
# 创建 .claude/worktrees/feature-auth/,新建分支
claude --worktree feature-auth

# 在另一个 worktree 中启动另一个会话
claude --worktree bugfix-123

或者不指定名称,自动生成:

bash
claude --worktree

Worktree 创建于 <repo>/.claude/worktrees/<name>,分支名为 worktree-<name>

退出 worktree 会话时:

  • 无改动:worktree 和分支自动清理
  • 有改动:Claude 询问是否保留

建议在 .gitignore 中添加 .claude/worktrees/


恢复之前的对话

bash
claude --continue    # 继续当前目录最近的对话
claude --resume      # 选择一个历史对话
claude --from-pr 123 # 恢复关联到特定 PR 的会话

给会话命名:

bash
# 启动时命名
claude -n auth-refactor

# 会话中重命名
/rename auth-refactor

在会话选择器中的快捷键:

快捷键操作
/ 导航会话
Enter选择并恢复
P预览会话内容
R重命名会话
/搜索过滤
A切换显示全部/当前目录
B按当前 git 分支过滤

作为 Unix 工具使用

添加到构建脚本作为 Lint 工具:

json
// package.json
{
  "scripts": {
    "lint:claude": "claude -p '你是一个代码检查器。查看对比 main 的改动,报告拼写错误。输出格式:第一行文件名和行号,第二行问题描述。'"
  }
}

管道输入:

bash
cat build-error.txt | claude -p '简要解释这个构建错误的根本原因' > output.txt

控制输出格式:

bash
# 纯文本(默认)
cat data.txt | claude -p '总结这些数据' --output-format text

# JSON 格式(含元数据和费用)
cat code.py | claude -p '分析代码中的 bug' --output-format json

# 流式 JSON(实时处理)
cat log.txt | claude -p '解析日志中的错误' --output-format stream-json

定时任务

方式运行位置适用场景
云端定时任务Anthropic 管理的基础设施电脑关机时也要继续运行
桌面应用定时任务你的机器需要访问本地文件和工具
GitHub ActionsCI 流水线关联 PR 事件或代码仓库
/loop当前 CLI 会话会话期间的快速轮询

扩展思考模式

对于复杂问题,在提示词中包含 ultrathink 关键词触发深度思考:

ultrathink:设计一个能处理 100 万并发用户的缓存架构

或者按 Option+T / Alt+T 切换整个会话的思考模式,或用 /effort 调整思考深度。

Ctrl+O 切换详细模式,查看 Claude 内部的推理过程(灰色斜体文字)。


相关资源