这个仓库是什么
这个仓库是一个 Claude Code 发布产物的源码阅读样本。
它的来源链路是:
text
@anthropic-ai/claude-code npm 包
-> package/cli.js
-> package/cli.js.map
-> extract-sources.js
-> restored-src/1
2
3
4
5
2
3
4
5
也就是说,restored-src/src 不是官方原始开发仓库,而是从 source map 的 sourcesContent 还原出来的文件树。
可运行的是发布产物
真正可运行的是:
text
package/cli.js1
它是 npm 包里的打包结果。运行 package/cli.js --version 可以看到版本信息。
restored-src/src 更像是一份“带路径的源码快照”。它有很高的学习价值,但不是一个完整 TypeScript 工程。
不能直接编译的原因
不能直接把 restored-src/src/main.tsx 当入口编译,主要缺这些东西:
- 没有官方
tsconfig.json。 - 没有官方 bundler 配置。
- 大量导入使用
src/...路径别名。 - 有很多
import { feature } from 'bun:bundle'构建时模块。 - 部分依赖是 sourcemap 还原出来的源码,不是完整 npm 安装结果。
- 存在
@ant/*这类内部依赖。 - 一些文件已经带有编译后痕迹,例如
react/compiler-runtime。
这说明它的价值不在“重新打包 Claude Code”,而在“观察一个成熟 Agent CLI 的结构”。
学习重点
从这个仓库最值得学习的是 5 件事:
- Agent CLI 如何启动和分流。
- 会话主循环如何把模型、工具和消息串起来。
- Tool 系统如何做 schema、权限和结果回传。
- 长会话如何做上下文压缩和恢复。
- 大型 Agent 产品如何通过 Commands、Skills、MCP 和 Plugins 扩展。
后面的章节都会围绕这些问题展开。