# claude-code-cli **Repository Path**: schoolgrass/claude-code-cli ## Basic Information - **Project Name**: claude-code-cli - **Description**: 这是 Claude Code 的 CLI 客户端主体(src/ 目录),即整个终端交互层的源码。具体包含: 1. CLI 入口与命令解析 — main.tsx(4684行)、entrypoints/(CLI 模式、SDK 模式、MCP 模式) 2. 终端 UI 渲染 — components/(144 个组件,用 React + Ink 渲染终端界面) 3. 工具系统 — tools/(43 个工具,Bash、文件读写编辑、Grep、Glob、Web 搜索等) 4. API 通信层 — services/api/(与 Anthropic 后端通信) 5. MCP 协议 6. 多 Agent/Team 协作 l 7. 认证与策略 8. 辅助服务 等 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Claude Code CLI - Source Code Analysis > Claude Code CLI 源代码学习与分析项目 ## 项目简介 这是 Anthropic 官方 **Claude Code CLI** 工具的源代码,用于学习、研究和分析目的。Claude Code 是一个强大的 AI 编程助手命令行工具,支持多种编程任务自动化。 ## 技术栈 | 类别 | 技术 | |------|------| | **语言** | TypeScript / TSX | | **运行时** | Bun | | **UI 框架** | Ink (React for CLI) | | **包管理** | Bun | | **CLI 框架** | Commander.js | | **终端样式** | Chalk | ## 项目结构 ``` src/ ├── commands/ # 斜杠命令实现 (/commit, /review 等) ├── components/ # UI 组件 (基于 Ink React) │ └── design-system/ # 设计系统组件 ├── services/ # 核心服务 │ ├── api/ # API 服务 │ ├── mcp/ # MCP 协议实现 │ ├── analytics/ # 分析服务 │ └── settingsSync/ # 设置同步 ├── tools/ # 工具实现 │ ├── BashTool/ # Shell 命令执行 │ ├── FileReadTool/ # 文件读取 │ ├── FileEditTool/ # 文件编辑 │ ├── GrepTool/ # 代码搜索 │ ├── GlobTool/ # 文件匹配 │ ├── TaskTool/ # 任务代理 │ └── ... # 更多工具 ├── hooks/ # React Hooks ├── constants/ # 常量定义 ├── ink/ # 终端 UI 框架 ├── utils/ # 工具函数 ├── schemas/ # JSON Schema 定义 ├── screens/ # 屏幕组件 ├── plugins/ # 插件系统 ├── keybindings/ # 快捷键绑定 └── main.tsx # 主入口文件 ``` ## 核心功能 ### 命令列表 #### Git & 代码管理 | 命令 | 描述 | |------|------| | `/commit` | 智能生成 Git 提交 | | `/review` | 代码审查 | | `/pr_comments` | PR 评论分析 | | `/diff` | 差异查看 | | `/branch` | 分支管理 | #### 会话管理 | 命令 | 描述 | |------|------| | `/resume` | 恢复历史会话 | | `/session` | 会话管理 | | `/clear` | 清除对话 | | `/compact` | 压缩上下文 | | `/rewind` | 回退操作 | | `/export` | 导出会话 | #### 配置 & 设置 | 命令 | 描述 | |------|------| | `/config` | 配置管理 | | `/init` | 初始化项目 | | `/model` | 切换模型 | | `/theme` | 主题设置 | | `/login` | 登录账户 | | `/logout` | 登出账户 | #### MCP & 插件 | 命令 | 描述 | |------|------| | `/mcp` | MCP 服务器管理 | | `/plugin` | 插件管理 | | `/skills` | 技能系统 | #### 工具 & 诊断 | 命令 | 描述 | |------|------| | `/doctor` | 系统诊断 | | `/cost` | 费用统计 | | `/usage` | 使用量统计 | | `/help` | 帮助信息 | | `/upgrade` | 升级版本 | #### 模式切换 | 命令 | 描述 | |------|------| | `/vim` | Vim 模式 | | `/plan` | 计划模式 | | `/fast` | 快速模式 | | `/permissions` | 权限管理 | | `/hooks` | 钩子配置 | ## 架构亮点 ### 1. 工具系统 (Tools) 每个工具都是独立模块,包含: - 输入验证 (JSON Schema) - 执行逻辑 - 权限控制 - 输出格式化 ### 2. 命令系统 (Commands) 支持多种命令类型: - `prompt` - 提示词命令 - `local` - 本地执行命令 - `dialog` - 对话框命令 ### 3. MCP 协议 完整的 Model Context Protocol 实现,支持: - Stdio 传输 - SSE 传输 - 资源管理 - 工具调用 ### 4. 技能系统 (Skills) 可扩展的技能框架: - 内置技能 - 插件技能 - 自定义技能目录 ### 5. 代理系统 (Agents) 多代理协作支持: - Task 代理 - 并行执行 - 上下文隔离 ## 代码统计 | 指标 | 数量 | |------|------| | TypeScript 文件 | ~1884 | | 命令数量 | ~50+ | | 工具数量 | ~30+ | | UI 组件 | ~100+ | ## 关键文件 | 文件 | 描述 | |------|------| | `main.tsx` | 应用主入口 | | `commands.ts` | 命令注册中心 | | `tools.ts` | 工具注册中心 | | `context.ts` | 上下文管理 | | `ink.tsx` | UI 渲染引擎 | ## 依赖关系 ``` main.tsx ├── commands.ts ──► commands/ ├── tools.ts ──► tools/ ├── services/ │ ├── api/ │ ├── mcp/ │ └── analytics/ └── components/ └── design-system/ ``` ## 学习价值 1. **CLI 应用架构** - 大型命令行工具的设计模式 2. **React 终端 UI** - Ink 框架的实战应用 3. **MCP 协议** - AI 工具互联协议实现 4. **插件系统** - 可扩展架构设计 5. **代理系统** - 多代理协作模式 ## 免责声明 本项目仅用于学习和研究目的。Claude Code 是 Anthropic, PBC. 的产品。本仓库不包含完整的构建配置和依赖,仅包含源代码用于学习分析。 ## 许可证 源代码版权归 Anthropic, PBC. 所有。本项目仅用于教育目的。 --- > 最后更新: 2026-03-31