Anthropic Claude Code  |  完全实战指南  |  9 Chapters

Mastering
Claude Code

基于 Anthropic 官方文档、Boris Cherny 的 "Mastering Claude Code in 30 Minutes"(105 万播放)核心观点, 以及一人公司真实实战经验,从零到精通的完整指南。

9 个章节 五层能力模型 10+ 竞品横评 一人公司实战
PART I

Foundations

理解 Claude Code 是什么、为什么它不同、如何安装和配置

Chapter 01

Claude Code 是什么

Claude Code 是 Anthropic 推出的 agentic coding tool,直接在终端中运行。它不是一个 IDE 插件,而是一个能理解你的整个代码库、执行命令、编辑文件、搜索 web、与外部工具交互的 AI 编程助手。

本章核心要点

  • Claude Code 是终端原生的 agentic coding tool,不是 IDE 插件
  • 五层能力模型:Model / Instructions / Context / Tools / Hooks
  • 在 10 款主流产品中唯一实现五层全满
  • 核心差异化:Hooks 系统(可编程的事件驱动自动化)
"Claude Code is an agentic coding tool that lives in your terminal. It understands your entire codebase, can execute commands, edit files, and reason through complex software engineering tasks." — Anthropic Official Documentation

不只是代码补全

市面上大多数 AI 编程工具本质上是"代码补全"的高级版本:你写代码,它建议下一行。Claude Code 完全不同。它是一个 agent — 给它一个目标,它会自己规划路径、读取文件、搜索代码、执行命令、编写测试、迭代修复,直到任务完成。

传统 AI 编码工具

在 IDE 中嵌入 → 看到当前文件 → 建议下一行代码 → 你手动决定接受或拒绝 → 你控制一切

Claude Code (Agent)

在终端中运行 → 看到整个代码库 → 自主规划和执行 → 调用工具和命令 → 迭代直到完成 → 你定义目标

五层能力模型

理解 Claude Code 为什么强大,需要看它的五层架构。这不只是"大模型更聪明"那么简单 — 真正的差异在第 2-5 层。

5
Hooks 事件驱动自动化,代码变更/工具调用前后自动执行脚本
条件反射
4
Tools / MCP 内置 Bash/Read/Write/Grep + MCP Server 扩展外部能力
双手+工具箱
3
Context 整个代码库 + git 历史 + 文件搜索 + web 搜索
眼睛+书架
2
Instructions CLAUDE.md 身份/规则/记忆系统,跨会话持久化
身份证+手册
1
Model Claude Sonnet / Opus 基础智能
大脑

记忆口诀: 大脑 → 身份 → 眼睛 → 手脚 → 反射

竞品横评(2026 年 3 月)

用五层模型给 10 款主流 AI 编程工具打分(每层 0-2 分,满分 10):

产品ModelInstructionsContextToolsHooks总分
Claude Code2222210
Windsurf212218
Cursor222107
Gemini Code212106
GitHub Copilot211105
ChatGPT211105
Trae111104
文心快码101103
通义灵码111003
豆包 MarsCode101103
三个关键结论

1. Hooks 是独门武器 — 10 款产品中唯一有完整可编程 Hook 系统
2. 差距在 2-5 层 — 模型智能差距已小,记忆/工具/自动化差距明显
3. 选工具看层数 — 一人公司需要五层全满,因为没有多余人力补 AI 缺失的层

Chapter 02

安装与配置

从零开始,5 分钟内让 Claude Code 跑起来。

本章核心要点

  • 需要 Node.js 18+ 和 Anthropic 账号(Max 订阅或 API Key)
  • npm install -g @anthropic-ai/claude-code 一行安装
  • settings.json 控制权限、模型选择、MCP Server
  • 权限系统分四级:Allow / Deny / Ask / Auto-accept

安装与认证

系统要求

Node.js

18.0 以上版本(推荐 20 LTS)

操作系统

macOS / Linux / WSL(不支持原生 Windows)

认证

Claude Max 订阅 或 Anthropic API Key

安装步骤

# 全局安装 npm install -g @anthropic-ai/claude-code # 进入项目目录 cd your-project # 启动 Claude Code claude # 首次运行会打开浏览器完成 OAuth 认证 # 或者使用 API Key: export ANTHROPIC_API_KEY=sk-ant-xxx claude

使用 Claude Max 订阅(推荐)

如果你有 Claude Max 订阅($100/月或 $200/月),Claude Code 已包含在内,无需额外费用。首次运行 claude 命令时,浏览器会自动打开完成 OAuth 登录。

使用 API Key

如果你使用 API 计费模式,需要设置环境变量。建议在 shell profile 中添加:

# 在 ~/.zshrc 或 ~/.bashrc 中添加 export ANTHROPIC_API_KEY="sk-ant-your-key-here"

核心设置

Claude Code 的设置通过 settings.json 文件和 /config 命令管理。设置文件有两个层级:

全局设置

~/.claude/settings.json
影响所有项目,适合放通用偏好

项目设置

.claude/settings.json
项目根目录下,可以提交到 git

权限系统

Claude Code 有精细的权限控制,决定哪些工具可以自动执行、哪些需要确认:

// ~/.claude/settings.json { "permissions": { "allow": [ "Read", // 读取文件 - 总是允许 "Glob", // 文件搜索 - 总是允许 "Grep", // 内容搜索 - 总是允许 "Bash(git *)" // 只允许 git 命令 ], "deny": [ "Bash(rm -rf *)" // 禁止危险删除 ] } }

模型选择

在 Claude Code 中,可以通过 /model 命令切换模型:

# 交互模式中切换 /model # 可选模型 # - claude-sonnet-4-20250514 (默认,速度快) # - claude-opus-4-20250514 (最强,复杂任务用)
一人公司启示

日常开发用 Sonnet(速度快、成本低),遇到复杂架构设计或难 debug 时切 Opus。如果用 Max 订阅,不需要关心 API 成本,但要注意 rate limit。

Chapter 03

核心工作流

使用 Claude Code 最重要的心智模型:说清目标,不规定步骤。这是新手和高手之间最大的差距。

本章核心要点

  • 核心原则:Tell Claude WHAT, not HOW(说目标,不说步骤)
  • 先做计划再动手 — 让 Claude 先输出方案,你确认后再执行
  • 反馈闭环 — 单测、截图、Puppeteer,迭代 2-3 次到满意
  • 渐进信任 — 从小任务开始,逐步放权
"The number one tip for using Claude Code: describe what you want, not how to do it. Let Claude figure out the implementation. You focus on the goal." — Boris Cherny, Anthropic (Mastering Claude Code in 30 Minutes)

说清目标,不规定步骤

这是使用 Claude Code 最重要的一条原则。你是产品经理,Claude 是工程师。好的产品经理不会告诉工程师"先建一个 React 组件,然后...",而是说"用户需要能在首页看到最近 10 条订单"。

❌ 错误:规定步骤

"创建一个 React 组件叫 OrderList,用 useEffect 调用 /api/orders,用 map 渲染每个订单,每个订单显示 id 和金额,用 Tailwind 的 flex 布局..."

✓ 正确:描述目标

"首页需要展示用户最近 10 条订单,包括订单号、金额和状态。API 端点是 /api/orders。风格跟现有页面保持一致。"

为什么这很重要?

因为 Claude Code 能看到你的整个代码库。它知道你用的是什么框架、什么组件库、什么代码风格。当你过度规定实现细节时,反而限制了它做出更好选择的能力。

进阶技巧

在描述目标时,添加验收标准效果更好:"用户点击订单可以看到详情。如果没有订单显示友好的空状态。加载中有 skeleton 效果。" — 这些是目标和约束,不是实现步骤。

先计划再编码

"Before writing any code, ask Claude to make a plan. Review the plan. Then tell it to execute." — Boris Cherny, Anthropic

这是 Claude Code 工作流的第二个关键原则。对于任何非平凡的任务,都应该分两步走:

  1. 让 Claude 先出方案:"分析一下这个 bug 的根因,给我一个修复方案,先不要改代码。"
  2. 你审核方案:检查方向是否正确、影响范围是否可控、是否有遗漏。
  3. 确认后执行:"方案 OK,开始执行。" 或 "方案需要调整:xxx,然后再执行。"
# 实际对话示例 You: 用户反馈登录后偶尔会白屏。先分析可能的原因,列出排查方案,不要改代码。 Claude: 我检查了代码,发现三个可能原因: 1. AuthContext 在 token 过期时返回 null,但 ProtectedRoute 没有处理这个情况 2. /api/me 接口偶尔超时,前端没有 error boundary 3. localStorage 在隐私模式下可能抛异常 建议修复顺序:先修 #1(最可能),然后加 #2 的兜底,最后补 #3 的防御。 You: 先修 #1,加个测试。 Claude: [开始执行,修改 ProtectedRoute,添加单测...]
一人公司启示

一人公司没有 code review 环节,"先计划再编码"就是你唯一的安全网。养成习惯:任何涉及数据库、API 或用户数据的变更,都先让 Claude 出方案,你 review 后再执行。这 30 秒的投入能避免小时级的回滚。

反馈闭环

"Give Claude feedback. Show it test results, screenshots, error logs. The more signal you give, the faster it converges." — Boris Cherny, Anthropic

Claude Code 真正厉害的地方在于迭代。一次性写出完美代码是幻想,但给反馈后快速收敛是现实。

三种反馈方式

T
单元测试

让 Claude 写测试 → 跑测试 → 看失败 → 修到全过。最可靠的闭环。

S
截图反馈

把浏览器截图粘贴给 Claude。它能看到 UI 问题并直接修复。

P
Puppeteer / 自动化

用 Puppeteer MCP 让 Claude 自己操作浏览器验证结果。全自动闭环。

描述需求
Claude 编码
跑测试/截图
反馈问题
Claude 修复
典型迭代 2-3 轮收敛
PART II

Deep Dive

CLAUDE.md 记忆系统、MCP 工具扩展、Hooks 自动化

Chapter 04

CLAUDE.md 与记忆系统

让 AI 记住你的项目、你的规则、你的偏好。这是 Claude Code 和"一次性对话"工具之间最根本的区别。

本章核心要点

  • CLAUDE.md 是 Claude Code 的"员工手册",每次对话自动加载
  • 三层作用域:全局 > 项目 > 子目录,从通用到具体
  • # 快捷键直接写入记忆
  • 好的 CLAUDE.md 能让新会话"秒进入状态"

什么是 CLAUDE.md

CLAUDE.md 是一个 Markdown 文件,Claude Code 每次启动时会自动读取并加入上下文。你可以把它理解为给 Claude 的永久指令 — 项目架构、编码规范、技术栈偏好、特殊规则...所有你不想每次对话都重复说的东西。

"CLAUDE.md is like a README for Claude. It tells Claude who it is in this project, what rules to follow, and what matters." — Boris Cherny, Anthropic

应该写什么?

必写内容

• 项目技术栈和架构概述
• 编码规范和命名约定
• 常用命令(build / test / deploy)
• 文件结构说明
• 重要的业务规则

不应该写的

• 整个代码库的详细文档(太长)
• API Key 等敏感信息
• 过时的或矛盾的指令
• Claude 能从代码中推断的显而易见的信息

三层作用域

CLAUDE.md 有三个层级,从全局到项目到子目录,层层叠加:

G
~/.claude/CLAUDE.md 全局级 — 影响所有项目。写你的通用偏好、角色定义、铁律。
P
项目根目录/CLAUDE.md 项目级 — 该项目的技术栈、架构、规范。可以提交到 git。
S
子目录/CLAUDE.md 子目录级 — 进入该子目录时才加载。适合 monorepo 的子包。

实战示例:项目级 CLAUDE.md

# Project: Asian Cal # 亚洲菜热量识别 App ## 技术栈 - React Native + Expo (SDK 52) - TypeScript strict mode - Supabase (Auth + Database + Storage) - Claude Vision API (食物识别) ## 架构 - src/screens/ - 页面组件 - src/components/ - 可复用组件 - src/services/ - API 层 - src/hooks/ - 自定义 Hook - supabase/migrations/ - 数据库迁移 ## 规范 - 组件用 function 声明,不用 arrow function - 所有 API 调用通过 src/services/ 封装 - 数据库变更必须写 migration 文件 - 中文注释,英文变量名 ## 常用命令 - `npx expo start` - 启动开发 - `npx expo run:ios` - iOS 模拟器 - `npm test` - 跑测试 - `supabase db push` - 推数据库变更

Memory 命令

除了手动编辑 CLAUDE.md,Claude Code 还提供了便捷的记忆写入方式:

用 # 快捷写入

在对话中,输入 # 开头的内容会被写入 CLAUDE.md 的 memory 部分:

# 在 Claude Code 对话中输入 # 这个项目的测试用 vitest,不要用 jest # Claude 会把这条规则写入 CLAUDE.md # 之后每次对话都会自动记住

/memory 命令

使用 /memory 命令可以查看和管理已保存的记忆:

# 查看当前记忆 /memory # Claude 会打开编辑界面,你可以查看、修改或删除记忆条目
一人公司启示

一人公司的 CLAUDE.md 不只是技术文档,它是你的组织知识库。把"铁律"(绝不能违反的规则)、"授权分级"(什么可以自己决定、什么要问你)、"防污染规则"(区分不同项目的思维模式)都写进去。Claude 就从一个工具变成了一个"懂规矩的技术合伙人"。

Chapter 05

工具与 MCP

Claude Code 自带了强大的内置工具,但通过 MCP (Model Context Protocol) Server,它的能力边界可以无限扩展。

本章核心要点

  • 内置工具:Read / Write / Edit / Bash / Glob / Grep / WebFetch / WebSearch
  • MCP = Model Context Protocol,让 Claude 调用外部服务
  • MCP Server 在 settings.json 或 .mcp.json 中配置
  • 官方 MCP Server + 社区 Server + 自建 Server

内置工具

Claude Code 开箱即有一套强大的内置工具,覆盖了日常开发的绝大部分场景:

Read / Write / Edit

读取文件、创建新文件、精确编辑现有文件(只发 diff,不重写整个文件)。Edit 工具是 Claude Code 的核心优势 — 大文件也只修改需要改的部分。

Bash

执行任意 shell 命令。跑测试、构建项目、git 操作、启动服务器...终端能做的,Claude 都能做。受权限系统控制。

Glob / Grep

文件搜索和内容搜索。基于 ripgrep 构建,在大型代码库中也能快速定位文件和代码模式。

WebFetch / WebSearch

获取网页内容、搜索互联网。让 Claude 能查文档、找解决方案、了解最新 API 变更。

MCP Server

MCP (Model Context Protocol) 是 Anthropic 推出的开放协议,让 AI 模型能与外部工具和数据源交互。Claude Code 内置了 MCP 客户端,你只需要配置 Server 地址就能使用。

配置方式

在项目根目录创建 .mcp.json 或在 settings.json 中配置:

// .mcp.json - 项目级 MCP 配置 { "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"] }, "puppeteer": { "command": "npx", "args": ["-y", "@anthropic-ai/mcp-puppeteer"] }, "postgres": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-postgres"], "env": { "DATABASE_URL": "postgres://..." } } } }

常用 MCP Server

Server功能使用场景
Puppeteer浏览器自动化UI 测试、截图验证、网页交互
PostgreSQL数据库查询查数据、分析 schema、调试 SQL
GitHub仓库操作PR/Issue 管理、代码搜索
Slack团队消息发通知、查历史消息
Linear项目管理创建 Issue、更新状态
Sentry错误监控查看报错、分析堆栈
Figma设计稿读取设计稿参数、下载素材

自建 MCP Server

MCP 是开放协议,你可以用 Python 或 TypeScript 快速创建自己的 Server:

# Python MCP Server 最小示例 from mcp.server import Server from mcp.types import Tool, TextContent server = Server("my-tools") @server.tool() async def query_orders(user_id: str) -> list[TextContent]: """查询用户订单""" orders = await db.query(f"SELECT * FROM orders WHERE user_id = '{user_id}'") return [TextContent(type="text", text=str(orders))] server.run()
一人公司启示

MCP Server 是一人公司的"员工扩招"。每建一个 MCP Server,就等于雇了一个"专职助手":财务 Server 管记账、法务 Server 管合规、运营 Server 管数据。Claude Code 通过 MCP 指挥这些 Server 协作,你只需要告诉它目标。

Chapter 06

Hooks — 自动化纪律的终极武器

Hooks 是 Claude Code 的独门武器。它让你能在工具调用前后自动执行脚本,实现"机械性纪律用机械化方式保障"。

本章核心要点

  • Hooks 是事件驱动的自动化脚本,在 Claude Code 生命周期中触发
  • 四种事件:PreToolUse / PostToolUse / Notification / Stop
  • Hook 可以阻止操作(exit 2)或修改行为
  • 核心理念:凡是"每次 X 必须 Y"的规则,都应该用 Hook 保障
"Hooks let you run scripts at various points in Claude Code's lifecycle. They're perfect for enforcing standards, preventing mistakes, and automating repetitive checks." — Anthropic Claude Code Documentation

事件与生命周期

Hooks 在 Claude Code 的四个关键时刻触发:

Pre
PreToolUse

工具调用之前触发。可以检查参数、阻止操作、修改行为。比如:写入文件前检查是否有必要的 frontmatter。

Post
PostToolUse

工具调用之后触发。可以验证结果、触发后续动作。比如:代码变更后提醒跑测试。

N
Notification

当 Claude 发送通知时触发。可以用来转发通知到其他渠道(如 Telegram)。

S
Stop

当 Claude 完成任务(停止 agent loop)时触发。可以用来做收尾检查或自动提交。

Hook 的控制能力

Hook 脚本的 exit code 决定了后续行为:

Exit Code效果用途
0继续执行检查通过,正常进行
2阻止操作检查不通过,阻止工具调用并将 stderr 反馈给 Claude
其他非零Hook 错误(静默失败)Hook 本身出了问题

配置方式

Hooks 在 settings.json 中配置(全局或项目级):

// .claude/settings.json { "hooks": { "PreToolUse": [ { "matcher": "Write|Edit", "hooks": [ { "type": "command", "command": "bash /path/to/check-frontmatter.sh \"$TOOL_INPUT\"" } ] } ], "PostToolUse": [ { "matcher": "Write|Edit", "hooks": [ { "type": "command", "command": "bash /path/to/check-tests.sh" } ] } ] } }

环境变量

Hook 脚本可以访问这些环境变量:

变量说明
$TOOL_NAME当前工具名称(如 Write, Bash, Edit)
$TOOL_INPUT工具输入参数(JSON 格式)
$TOOL_OUTPUT工具输出(仅 PostToolUse)
$SESSION_ID当前会话 ID

实战 Hook 示例

Hook 1:知识库文件必须有 author frontmatter
#!/bin/bash # check-kb-frontmatter.sh - PreToolUse Hook # 写入知识库文件前检查是否有 author frontmatter FILE_PATH=$(echo "$TOOL_INPUT" | jq -r '.file_path // .path // empty') # 只检查知识库目录下的 .md 文件 if [[ "$FILE_PATH" == *"knowledge-base"* ]] && [[ "$FILE_PATH" == *.md ]]; then CONTENT=$(echo "$TOOL_INPUT" | jq -r '.content // .new_string // empty') if [[ -n "$CONTENT" ]] && ! echo "$CONTENT" | grep -q "^author:"; then echo "ERROR: 知识库文件必须包含 author frontmatter" >&2 exit 2 fi fi exit 0
Hook 2:代码变更后强制提醒自测
#!/bin/bash # check-code-test.sh - PostToolUse Hook # 代码变更后提醒自测清单 FILE_PATH=$(echo "$TOOL_INPUT" | jq -r '.file_path // empty') if [[ "$FILE_PATH" == *.py ]] || [[ "$FILE_PATH" == *.ts ]] || [[ "$FILE_PATH" == *.js ]]; then echo "REMINDER: 代码已变更,请检查:" >&2 echo " 1. 语法是否正确" >&2 echo " 2. 函数签名是否兼容" >&2 echo " 3. 依赖是否完整" >&2 echo " 4. 是否需要更新测试文件" >&2 fi exit 0
Hook 3:数据库模型变更提醒 Migration
#!/bin/bash # check-db-migration.sh - PostToolUse Hook # 检测 ORM 模型变更,提醒创建 migration FILE_PATH=$(echo "$TOOL_INPUT" | jq -r '.file_path // empty') CONTENT=$(echo "$TOOL_INPUT" | jq -r '.content // .new_string // empty') if [[ "$FILE_PATH" == *"models"* ]] || [[ "$FILE_PATH" == *"schema"* ]]; then if echo "$CONTENT" | grep -qE "(Column|Field|ForeignKey|relationship|Table)"; then echo "WARNING: 检测到数据库模型变更!" >&2 echo " - 是否需要创建 migration 文件?" >&2 echo " - 是否需要更新 ER 图?" >&2 fi fi exit 0
元规则

凡是"每次变更 X 必须同步更新 Y"这类机械性规则,全部写成 Hook 强制执行,不靠记忆。 记忆用于需要判断的事情,机械性纪律用机械化方式保障。发现新的"变更 X → 必须 Y"规则时,第一反应是写 Hook,不是写记忆文件。

一人公司启示

一人公司最大的风险是"没有人 review 你的代码"。Hook 就是你的自动 code reviewer:写文件前检查规范、改数据库后提醒 migration、部署前验证版本号。这些在大公司靠流程和人力保障的事情,一人公司靠 Hook 保障。

PART III

Mastery

高级技巧、一人公司实战模式、最佳实践

Chapter 07

高级技巧

从"能用"到"用得好"的关键技巧:并行 Agent、快捷操作、CLI 集成、反馈闭环进阶。

本章核心要点

  • 并行 Agent:用 /agents 或多终端窗口同时处理多个任务
  • Shift+Tab:自动接受 Claude 的建议,进入"自动驾驶"模式
  • claude -p "prompt":非交互模式,适合脚本和 CI/CD
  • git commit 集成:让 Claude 自动生成 commit message

并行 Agent

Claude Code 支持在一个会话中启动子 Agent 来并行处理任务,也支持多终端窗口同时运行多个 Claude Code 实例。

方法一:多终端窗口

最简单的并行方式 — 在不同终端窗口启动多个 Claude Code 实例,各自处理不同任务:

# 终端 1:处理后端 API cd ~/project && claude > 给 /api/orders 加分页支持 # 终端 2:处理前端页面 cd ~/project && claude > 把订单列表改成虚拟滚动 # 终端 3:写测试 cd ~/project && claude > 给 OrderService 补全单元测试

方法二:Agent 工具

Claude Code 内部可以调用 Agent 工具来处理子任务。Agent 工具会启动一个新的 Claude 实例,在独立上下文中完成任务后返回结果。

何时使用并行

适合并行:独立的文件/模块修改、多个不相关的 bug 修复、前后端同时开发。
不适合并行:相互依赖的代码变更、需要全局一致性的重构、数据库 schema 修改。

Shift+Tab 与快捷操作

"Shift+Tab is the auto-accept mode. When you trust what Claude is doing, just let it run." — Boris Cherny, Anthropic

Claude Code 有几个关键的快捷操作,能大幅提升效率:

Shift+Tab — 自动接受

按下后进入自动接受模式,Claude 的工具调用不再逐个确认。适合你信任 Claude 的判断、想让它自主完成的场景。按 Esc 退出。

# — 写入记忆

以 # 开头的输入会被写入 CLAUDE.md 的记忆部分。快速记录规则和偏好。

/compact — 压缩上下文

长对话占用太多 context 时,用 /compact 压缩历史。Claude 会保留关键信息,释放 token 空间。

/clear — 清空对话

完全重置当前对话。适合任务切换时使用,避免前一个任务的上下文干扰。

/model — 切换模型

在 Sonnet 和 Opus 之间切换。Sonnet 日常用,Opus 处理复杂问题。

/config — 设置

查看和修改 Claude Code 的配置项,包括权限、主题等。

CLI 与 CI/CD 集成

Claude Code 不只是交互工具,它的 CLI 模式让它可以融入自动化流水线:

非交互模式

# -p 参数:直接传 prompt,不进入交互模式 claude -p "分析 src/ 下所有 TODO 注释,生成一个优先级列表" # 管道输入:把其他命令的输出传给 Claude git diff HEAD~5 | claude -p "总结这 5 个 commit 的变更,用中文" # 输出到文件 claude -p "为这个项目生成 API 文档" > api-docs.md

CI/CD 集成示例

# GitHub Actions: 自动 Code Review name: Claude Code Review on: [pull_request] jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: npm i -g @anthropic-ai/claude-code - run: | git diff origin/main...HEAD | claude -p "Review this PR diff. Check for: bugs, security issues, performance problems. Output as GitHub PR comment format." > review.md - # Post review.md as PR comment

自动 Commit Message

# 让 Claude 根据 diff 生成 commit message git add . && claude -p "看 staged changes,写一个简洁的 commit message" | git commit -F -
一人公司启示

CLI 模式是一人公司的"批量生产力"。把 Claude Code 嵌入你的 git hooks、CI/CD、定时任务,实现:每次 commit 自动写 changelog、每次 PR 自动 review、每天早上自动分析错误日志。一个人的公司,但拥有大公司的自动化水平。

Chapter 08

一人公司实战

如何用 Claude Code 替代一个开发团队 — 不是"辅助",而是真正承担工程师、QA、DevOps 多个角色。

本章核心要点

  • Claude Code 在一人公司中扮演"技术合伙人"而非"工具"
  • 通过 CLAUDE.md + Hooks 建立完整的工程纪律
  • 五层全满 = 一人公司需要的最低配置
  • 关键是"授权分级" — 什么让 Claude 自己决定,什么你来拍板

替代一个开发团队

一人公司使用 Claude Code 的核心思路不是"让 AI 写代码",而是"让 AI 承担角色"。一个完整的开发团队有这些角色,Claude Code 可以覆盖大部分:

角色Claude Code 如何替代关键配置
后端工程师编写 API、数据库操作、业务逻辑CLAUDE.md 定义技术栈和规范
前端工程师编写 UI 组件、页面、交互逻辑MCP Puppeteer 做视觉验证
QA 工程师编写和运行测试、发现边界情况PostToolUse Hook 强制提醒测试
DevOps部署脚本、CI/CD、监控配置CLI 模式 + Bash 权限
Code Reviewer自动检查代码质量、安全问题PreToolUse Hook 强制规范
Tech Lead架构设计、技术选型建议先计划再编码的工作流

授权分级

一人公司最关键的决策:什么让 Claude 自己做,什么需要你确认。

Claude 自己决定

UI 细节、通用错误处理、代码结构、边界情况、响应式适配、性能优化、明显 bug 修复、测试执行

需要问创始人

业务逻辑变更、数据模型改动、新的第三方服务选型、花钱的决定、产品方向判断

绝对禁止

删除用户数据库、修改系统代理、跳过 git hooks、删除功能/数据、推送到 main 分支

实战模式库

模式一:新项目冷启动
从零开始一个新项目,让 Claude 搭建完整脚手架。
"我要做一个亚洲菜热量识别 App,React Native + Expo + Supabase + Claude Vision API。先做项目初始化,搭好目录结构和基础配置。不要写业务代码,只搭架子。完成后把技术栈和架构写入 CLAUDE.md。"
模式二:Bug 修复三部曲
先分析、再写测试复现、最后修复。确保 bug 不会复发。
第一步:"用户反馈登录后白屏,先分析可能的原因,不要改代码。"
第二步:"写一个测试来复现这个 bug。"
第三步:"现在修复它,确保测试通过。"
模式三:功能开发 + 测试一体化
开发新功能时同步写测试,不是事后补测试。
"给订单模块加退款功能。要求:1) 只有已完成的订单可以退款 2) 退款金额不能超过原订单金额 3) 退款后更新订单状态。同步写单元测试覆盖所有边界情况。"
模式四:代码库探索与重构
理解一个不熟悉的代码库,然后有计划地重构。
第一步:"读一下这个项目的结构,给我画一个模块依赖图。"
第二步:"src/utils/helpers.js 太臃肿了,分析一下哪些函数可以拆到独立模块。"
第三步:"按你的方案重构,每个模块独立 commit。"
模式五:全栈端到端交付
从数据库到 API 到前端,一次性交付完整功能。
"实现用户个人资料页。需要:1) 数据库加 profiles 表(写 migration)2) 后端加 CRUD API 3) 前端加个人资料页面和编辑表单 4) 加权限检查:只能编辑自己的资料。先出方案,我确认后再做。"
Chapter 09

常见问题与最佳实践

避开新手陷阱,建立高效的使用习惯。

常见问题

Q: Claude Code 和 Cursor / Copilot 应该怎么选?

取决于你的工作方式。如果你喜欢在 IDE 中边写边补全,Cursor 更适合。如果你更像一个产品经理 — 描述需求、审核方案、验收结果 — Claude Code 更适合。一人公司推荐 Claude Code,因为它的五层能力都是一人公司刚需。

当然两者并不冲突,很多人用 Claude Code 做大块开发和重构,用 Cursor 做小的编辑和补全。

Q: Claude 改了不该改的文件怎么办?

三道防线:
1. 权限系统:在 settings.json 的 deny 列表中配置不允许修改的路径
2. PreToolUse Hook:在写入前检查路径,阻止对关键文件的修改
3. Git:Claude Code 的所有改动都在本地,随时可以 git checkout 回退

Q: 对话太长,Claude 开始"忘记"之前的内容?

这是 context window 的限制。解决方案:
1. 用 /compact 压缩对话历史
2. 把关键决策和规则写入 CLAUDE.md(每次对话都会读取)
3. 大任务拆成多个独立对话,每个对话解决一个子问题
4. 约 70 轮对话时主动"存档" — 让 Claude 总结当前进展,写入工作笔记

Q: Claude 的输出质量不稳定怎么办?

几个提升稳定性的技巧:
1. 更好的 CLAUDE.md:规则越明确,输出越一致
2. 提供示例:在 prompt 中给一个"好的输出"的例子
3. 先计划再编码:让 Claude 先说清楚打算怎么做
4. 用 Opus 处理关键任务:Opus 在复杂推理上显著优于 Sonnet
5. 反馈闭环:不要期望一次完美,用测试和验证来迭代

Q: 如何控制 API 成本?

如果用 API 计费模式:
1. 日常开发用 Sonnet(约为 Opus 成本的 1/5)
2. 避免在大文件上反复调用(先 Glob/Grep 定位再 Read 特定部分)
3. 用 /compact 控制 context 长度
4. 考虑切 Claude Max 订阅($100-200/月固定费用,不限量)

Q: 团队协作中怎么用 Claude Code?

1. 项目级 CLAUDE.md 提交到 git,确保团队成员的 Claude 行为一致
2. .mcp.json 提交到 git,共享 MCP Server 配置
3. 项目级 settings.json 配置统一的权限和 Hook
4. 个人偏好放在全局 ~/.claude/settings.json,不影响团队

最佳实践清单

工作流

• 说清目标,不规定步骤
• 非平凡任务先出方案再执行
• 用测试验证而不是肉眼验证
• 迭代 2-3 轮是正常的
• 大任务拆成小的独立对话

CLAUDE.md

• 写技术栈、架构和常用命令
• 写铁律(绝对不能做的事)
• 写授权分级(自己决定 vs 要问)
• 保持简洁,不要写小说
• 定期清理过时的内容

安全

• 不要在 CLAUDE.md 中放 API Key
• 用 deny 规则保护敏感文件
• 数据库操作先出方案再执行
• 绝不删除用户数据库
• 用 git 作为最后的安全网

效率

• Shift+Tab 进入自动接受模式
• /compact 管理长对话
• CLI 模式做批量任务
• 多窗口并行处理独立任务
• MCP Server 扩展能力而非手动操作

Claude Code 新手路径图

Week 1
安装 + 基础对话
理解五层模型
Week 2
写 CLAUDE.md
先计划再编码
Week 3
反馈闭环
MCP + Hooks
Week 4+
CLI 集成
全流程自动化
四周从新手到高效使用
最后的一人公司启示

Claude Code 不是让你"更快地写代码",而是让你把精力从"怎么实现"转移到"做什么产品"。作为一人公司创始人,你的时间应该花在客户、产品和商业模式上,而不是调 CSS 和写 CRUD。Claude Code 的终极价值:让技术不再是一人公司的瓶颈,让商业变现成为你唯一需要关注的事。