首页 › tutorials › Claude Code零基础:读透并改造首个开源项目

概述

本教程面向完全零基础的开发者,教你用 Claude Code 做一件比"Hello World"更接近真实工作场景的事:把一个你不认识的开源项目读懂,并成功改一行代码、跑通测试。学完后你将掌握安装认证、/init 项目初始化、架构提问、代码追踪、小步改造与验证的完整闭环,理解 AI 编程助手的真实价值边界。适用人群:会用命令行、写过一点代码、但从未用过 AI 编程工具的新手。

前置条件


为什么零基础的第一课不是"造轮子",而是"读项目"

市面上 90% 的 Claude Code 入门教程都在教"从零创建一个新项目"。这有一个隐藏的坑:新项目里没有"已有代码"需要理解,AI 的核心能力——读懂上下文——根本没被触发。

而你真正会遇到的工作场景,恰恰相反:

这些场景的共同点是:代码已经存在,你的任务是先理解,再动手。所以本教程的反直觉选择是——第一课就用 Claude Code 去啃一个别人写好的项目。这才是它真正不可替代的能力。


第一步:安装 Claude Code

Claude Code 在 2026 年提供两条安装路径,任选其一。

路径 A:原生安装(推荐,无需 Node)

macOS / Linux / WSL:

curl -fsSL https://claude.ai/install.sh | bash

Windows(PowerShell):

irm https://claude.ai/install.ps1 | iex

原生安装会把二进制装到 ~/.local/bin/(或 Windows 的用户目录),并自动配置 PATH。

路径 B:npm 全局安装(适合已有 Node 环境)

npm install -g @anthropic-ai/claude-code

验证安装

claude --version

能看到版本号(如 2.x.x)即安装成功。

常见问题与解决:

问题 原因 解决
command not found: claude PATH 未生效 重开终端;或手动 export PATH="$HOME/.local/bin:$PATH"
npm 报权限错误 EACCES 全局目录无写权限 改用原生安装路径 A,或配置 npm prefix 到用户目录
公司网络下载失败 防火墙拦截 配置 HTTPS_PROXY 代理环境变量后重试

第二步:认证登录

第一次运行 claude,会进入交互式引导:

claude

你会看到两个登录选项:

  1. Claude 账号登录(claude.ai 订阅用户)——浏览器自动打开,确认授权即可。Pro/Max 订阅会消耗你的对话额度。
  2. API Key 登录(按 token 计费)——去 console.anthropic.com 创建 Key,然后:
export ANTHROPIC_API_KEY=sk-ant-xxxxxxxx

新手建议先用订阅账号,因为按 token 计费在你不熟悉时容易超支。

登录成功后,终端底部会出现输入框,光标闪烁,说明 Claude Code 已就绪。


第三步:找一个"对新手友好"的开源项目来读

不要一上来就挑战 Kubernetes 这种百万行仓库——上下文会被撑爆,你会怀疑人生。新手练手项目的三个标准:

推荐练手项目(任选其一):

下面用一个极简的 Express Todo API作为贯穿全篇的示例。先克隆:

git clone https://github.com/example/express-todo-api.git
cd express-todo-api

提示:你也可以换成任意本地已有的小项目,只要 cd 进它的根目录即可,后续步骤完全通用。


第四步:/init —— 让 AI 先把项目"读薄"

进入项目根目录后,启动 Claude Code:

claude

然后在输入框敲第一条命令:

/init

发生了什么? Claude Code 会扫描整个目录结构、读取关键配置文件(package.json/requirements.txt、tsconfig.json、README.md、测试目录),然后在项目根目录生成一个 CLAUDE.md 文件。

CLAUDE.md 是 Claude Code 的"项目记忆",内容大致如下:

# CLAUDE.md

本项目是一个基于 Express 的 Todo REST API。

## 开发命令
- 安装依赖:`npm install`
- 启动开发服务器:`npm run dev`
- 运行测试:`npm test`
- 代码检查:`npm run lint`

## 架构概览
- 入口:`src/app.js`
- 路由层:`src/routes/todos.js`
- 数据层:`src/store/memory.js`(内存存储)
- 测试:`test/todos.test.js`(使用 Jest)

## 约定
- 所有路由返回 JSON
- 错误统一走 src/middleware/errorHandler.js

为什么这一步如此关键?

没有 CLAUDE.md,Claude Code 每次都要重新扫一遍目录,又慢又贵;有了它,后续每次对话都带着这份"项目说明书",回答准确度大幅上升,token 消耗显著下降。这是从"一次性问答玩具"升级为"长期项目助手"的分水岭。

常见问题:


第五步:提问式架构理解

/init 之后,开始像问同事一样提问。新手最该问的不是"这段代码啥意思",而是结构性问题——这类问题的答案能一次性建立全局认知。

在输入框依次问:

提问 1(全局):

用三段话概括这个项目的整体架构:它由哪几层组成?数据从请求进来到响应出去,经过哪些环节?

预期输出: Claude Code 会读取 src/app.js、路由文件、中间件,给你一个分层描述:路由层 → 控制器 → 存储层 → 响应封装,并指出关键文件路径。

提问 2(入口定位):

应用启动的入口在哪一行?它注册了哪些中间件、按什么顺序?

提问 3(依赖与约束):

这个项目用了哪些关键依赖?测试框架是什么?有没有数据库?数据存在哪?

这三个问题问完,你对项目的认知,应该比单纯读 README 深一个量级。

技巧:用 @ 引用文件能让提问更精准,例如 @src/app.js 里 app.use 的顺序有什么讲究?。Claude Code 会优先聚焦该文件。


第六步:追踪一条真实请求的代码流

理解架构之后,下一步是"顺着一条真实请求走一遍"。这是读代码最有效的方法——不要横着读(一个个文件看),要纵着读(一个功能贯穿多层)。

提问:

当我用 curl 发起 GET /api/todos 这个请求时,从 HTTP 进入到返回 JSON,代码依次执行了哪些文件、哪些函数?请按执行顺序列出调用链。

预期输出(示意):

1. src/app.js: app.listen(3000) — Express 服务器监听端口
2. src/app.js: 日志中间件 logRequest 记录请求
3. src/app.js: JSON 解析中间件 express.json()
4. src/routes/todos.js: router.get('/', todosController.list)
5. src/controllers/todosController.js: list() 调用 store
6. src/store/memory.js: getAll() 返回数组
7. src/app.js: errorHandler(本次无错误,不触发)
8. 响应: res.json(todos) 返回给客户端

这种"调用链"答案,比任何文档都直观。你可以继续追问任意一环:

src/store/memory.js 里的数据是存在哪的?服务重启会丢失吗?

Claude Code 会告诉你数据存在模块级变量里,进程重启即丢失——这正是它叫 memory.js 的原因。


第七步:动手改一行,并跑通测试

读到这里你已经理解了项目。现在做一件有成就感的事:加一个真实功能,并验证它生效。

需求: 给每个 todo 的响应增加一个 createdAt 字段,返回 ISO 格式时间戳。

提问:

我想让 GET /api/todos 返回的每个 todo 对象都带上 createdAt 字段(ISO 时间字符串)。
请先告诉我要改哪个文件、怎么改,再帮我改。

注意这个提问的两个要点:先说方案,再动手。这能让你保持对修改的掌控,而不是被动接受一大段 diff。

预期交互: 1. Claude Code 先回答:"需要修改 src/store/memory.js,在创建 todo 时写入 createdAt: new Date().toISOString()。这是只读改动,不影响已有数据结构。" 2. 它请求权限修改该文件——此时终端会弹出确认提示,按 y 同意(这是安全机制,务必看清要改什么)。 3. 修改完成。

接着让它跑测试:

运行测试,确认改动没有破坏现有功能。

Claude Code 会执行 npm test,并告诉你测试结果。如果通过,说明你的第一个开源项目改造闭环成功——从看不懂,到读懂,到改对,到验证。

常见问题:

现象 原因 处理
改完测试报错 改动影响了断言 让 Claude Code "分析测试失败原因并修复",它会读测试代码
Claude Code 拒绝修改 权限模式为只读 启动时确认未用 --read-only;或在确认提示选同意
改动涉及多个文件它只改一个 需求描述太笼统 明确说"列出所有要改的文件并逐一修改"

实战案例:从零读透并改造一个 Express Todo API(完整复盘)

把前面七步串成一个完整可复现的流程,作为你的"第一次实战"模板。

0. 准备

git clone https://github.com/example/express-todo-api.git
cd express-todo-api
npm install
claude

1. 生成项目记忆

/init

检查生成的 CLAUDE.md,手动补一句约定:"所有新增字段需同步更新 test/todos.test.js。"

2. 建立全局认知(3 个问题)

- 三段话概括架构
- 入口在哪、注册了哪些中间件
- 依赖、测试框架、数据存储位置

3. 追踪请求流(1 个问题)

- GET /api/todos 的完整调用链

4. 小步改造(先方案后动手)

- 给每个 todo 加 createdAt 字段,先说方案再改

5. 验证

- 运行 npm test
- 用 curl 启动服务并发一个请求,看响应里有没有 createdAt

启动服务并验证:

# 在另一个终端
npm run dev
curl http://localhost:3000/api/todos

预期响应里出现:

[
  { "id": 1, "title": "学习 Claude Code", "createdAt": "2026-06-14T08:30:00.000Z" }
]

看到 createdAt,闭环完成。整个过程,你只写了提问,没有手动改一行代码——但你完全知道改了什么、为什么改、改对没有。这才是 AI 编程助手正确的打开方式。


工作流程图

flowchart TD
    A[安装 Claude Code] --> B[认证登录]
    B --> C[克隆/进入开源项目]
    C --> D[/init 生成 CLAUDE.md 项目记忆/]
    D --> E[手动校准 CLAUDE.md]
    E --> F[结构性提问: 架构/入口/依赖]
    F --> G[追踪一条请求的调用链]
    G --> H{是否理解清楚?}
    H -- 否 --> F
    H -- 是 --> I[提出小改造需求: 先方案后动手]
    I --> J[确认权限, 应用修改]
    J --> K[运行测试验证]
    K --> L{测试通过?}
    L -- 否 --> M[让 AI 分析失败并修复]
    M --> K
    L -- 是 --> N[✅ 读透并改造成功]

新手最常踩的 5 个坑

  1. 上来就让它"重构整个项目" —— 必翻车。AI 在没有充分上下文时做大改动,错误率高。铁律:先理解,再小步改,每步验证。
  2. 不读 /init 生成的 CLAUDE.md 就开始问 —— 它是协作契约,错的契约会带偏所有后续回答。
  3. 忽视权限确认弹窗直接按回车 —— 安全网。养成"看清要改哪个文件"的习惯,避免误删。
  4. 大项目一直聊不压缩上下文 —— 对话越长越贵越慢。读大型仓库时,阶段性用 /compact 压缩历史,或 /clear 重开。
  5. 把 AI 当搜索引擎用 —— 问"Express 怎么写路由"会得到泛泛通用答案(这类该查文档);问"本项目的路由在哪个文件、怎么注册的"才能榨出价值。永远把问题锚定到你的具体代码上。

进阶信号:什么时候你该升级到下一篇

当你能稳定完成上述闭环,并且出现以下信号时,说明该进入下一阶段:

这些正是后续教程的主题,按需推进即可。


延伸阅读


训练营适用性评估

维度 评估
适合的训练营类型 零基础转码营、前端/后端新手营、开源贡献入门营、企业新人 onboarding 训练
建议教学时长 1 个半天(约 3~4 小时):1 小时讲解 + 2~3 小时动手完成实战案例
前置门槛 低。会用命令行即可,不要求精通某门语言
考核标准 学员能独立完成"克隆项目 → /init → 提问理解 → 改一行 → 跑通测试"全流程,并口述调用链
延伸方向 完成本篇后衔接 Skills 开发、Hooks 自动化、无头模式批量任务三篇进阶教程

参考来源

  1. Claude Code 官方文档 — Anthropic 官方安装、命令、配置与最佳实践权威来源
  2. Claude Code解惑:零基础入门如何让 Claude Code 帮你读懂复杂的开源代码 — 专门针对"读开源项目"场景的中文实操讲解
  3. Claude Code 项目初始化 - 菜鸟教程 — /init 命令与 CLAUDE.md 生成的中文说明
  4. Claude Code 基础使用完整指南:从启动到精通 — 围绕 CLAUDE.md 与会话管理的系统性实战手册
  5. mali9527/claude-code-full-guide-for-beginners — 17 万字、27 章、44 张思维导图的零基础中文开源入门书

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入