Common Git Command Cheat Sheet
【免费下载链接】easy-vibe💻 vibe coding 101|The first course for AI-native product builders.项目地址: https://gitcode.com/GitHub_Trending/ea/easy-vibe
Initialize Repository
| Command | Explanation | Example |
|---|---|---|
git init | Initialize new repository | git init my-project |
git clone | Clone remote repository | git clone https://github.com/user/repo.git |
进阶尝试:追加"加中文注释""按使用频率排序""包含常见错误处理"等要求,观察 Claude 如何调整输出。 ### 3.3 实验三:编写并运行一个贪吃蛇游戏,跑通端到端编码流程 这是最具挑战性也最有价值的实验,完整呈现"理解需求 → 写代码 → 建文件 → 运行程序 → 处理错误"的闭环: ```text Write a Snake game in Python. Requirements: 1. Use pygame 2. Show score 3. Press ESC to exit After writing, help me run it.Claude 的执行路径:
- 步骤 1 检查环境:确认 Python 是否安装、pygame 是否可用,缺失则建议安装。
- 步骤 2 编写代码:创建入口文件(如
snake_game.py),实现移动、食物生成、碰撞检测、得分显示与 ESC 退出。 - 步骤 3 运行游戏:执行脚本、弹出游戏窗口,用方向键控制蛇。
- 步骤 4 后续支持:若有 bug 可直说"蛇穿墙了,修一下";想要新功能(如"分数越高难度越大")也可以继续迭代。
常见问题:
- pygame 未安装?Claude 会检测并建议
pip install pygame,或直接让它安装。 - 游戏启动后终端被占用?按 ESC 退出游戏,或在另一个终端窗口继续使用 Claude Code。
- 可以换语言吗?完全可以,试试 "write in JavaScript"、"write with HTML5 Canvas" 等。
这个实验的价值在于:验证 Claude Code 能正确执行代码(环境打通)、体验与 AI 的协作式开发、并建立"AI 能端到端完成可运行程序"的信心。
四、十一大核心技巧:把效率翻倍
以下技巧来自真实开发实践,覆盖高频场景。
4.1 双击 Esc 回退对话——撤销错误操作
这是 Claude Code 最常用也最重要的快捷键,相当于"时光倒流":
按一次 Esc -> 清空当前输入(类似 Ctrl+C) 按两次 Esc -> 回到对话上一个状态(撤销上一轮) 按三次 Esc -> 清空全部对话历史(重新开始)典型场景:误发指令且 Claude 已开始执行(连按两次 Esc 回到执行前);回复不满意想换个问法(双 Esc 撤销重问);对话轮次过多、上下文混乱(三 Esc 清空重来)。
重要提醒:双击 Esc 撤销的是对话状态,不会自动回滚 Claude 已对文件做出的修改,需通过 Git 手动恢复。因此在大改动前建议先git commit或git stash保存现场。
4.2 用 @ 引用文件——精确控制上下文
虽然 Claude Code 会自动读取项目文件,但显式引用能让意图更清晰,也避免把 token 浪费在无关文件上。
基础用法(对比):
# 模糊提问(不推荐) Explain src/utils.ts # 显式引用(推荐) @src/utils.ts Explain this file进阶用法:
# 对比多个文件 @src/app.tsx @src/components/Header.tsx What is the relationship between these two files? # 引用整个目录 @src/components/ Summarize all components under this directory # 引用指定行区间(配合编辑器) @src/utils.ts:45-60 Explain what this code does使用提示:输入@后按 Tab 可弹出当前目录文件列表用方向键选择;支持@./config.json、@../shared/types.ts等相对路径;也支持模糊匹配,如@utils可命中src/utils.ts或src/utils/index.ts。
4.3 用 ! 执行命令——终端一体化
无需切换到另一个终端即可运行命令:
!npm test # 运行测试 !git status # 查看 Git 状态 !ls -la # 列出文件实用场景:
!npm test # 测试失败后 Analyze test failure reasons and fix code !git diff # 让 Claude 解释变更 Summarize key changes in this diff !npm run build # 构建失败后 Build failed, help me fix it安全机制:对敏感命令(如rm -rf、sudo),Claude Code 会要求确认,请谨慎确认。
4.4 /plan 先规划再编码——复杂任务的正确打开方式
对复杂任务直接开写往往低效,/plan让 Claude 先制定实现方案,再分步执行:
/plan I want to add user authentication. Please create an implementation plan.Claude 会:分析需求 → 评估当前项目与技术栈 → 制定分步计划 → 与你讨论调整。输出示例:
📋 User Authentication Implementation Plan Phase 1: Database design - [ ] Create users table (id, email, password_hash, created_at) - [ ] Create sessions table (id, user_id, expires_at) Phase 2: Backend API - [ ] POST /api/auth/register - register - [ ] POST /api/auth/login - login - [ ] POST /api/auth/logout - logout - [ ] GET /api/auth/me - get current user Phase 3: Frontend integration - [ ] Create login page - [ ] Create register page - [ ] Add route guards Phase 4: Testing - [ ] Write unit tests - [ ] Write integration tests Which phase do you want to start with? Or should we adjust the plan?最佳实践:预估超过 30 分钟的任务先用/plan;按阶段执行并逐阶段验证;需求变化时重新/plan调整。
4.5 /init 自动生成配置——项目快速初始化
/init会分析项目结构、识别技术栈,并生成完整的CLAUDE.md。它会:分析项目结构(框架/语言/构建工具)→ 读取配置文件(package.json、tsconfig.json 等)→ 推断代码风格与文件组织 → 生成 CLAUDE.md。
CLAUDE.md是 Claude Code 的"项目记忆":每次启动都会读取当前目录下的 CLAUDE.md,从而理解项目上下文、技术栈与约定。这意味着你不必反复解释框架与技术栈,Claude 会遵循你的约定与最佳实践,新成员也能更快上手。因此项目初始化后应立即执行/init,再手工微调生成结果使其贴合实际。
4.6 /compact 压缩上下文——省 token 的关键操作
Claude Code 的上下文窗口是有限的(通常在 200K tokens 量级),长对话会消耗大量 token、推高成本,甚至把重要信息挤出上下文。/compact会分析讨论历史,提取关键信息(已做决策、生成的代码、已确认的需求)生成精简摘要,后续对话基于摘要而非完整历史。
使用时机:对话进行 5~6 轮之后;Claude 看起来"忘记"了前文;切换到新的子任务但想保留重要上下文时。典型用法:
# 长对话后压缩 /compact # 继续工作 Now that user module is done, let's build order module.4.7 用 Claude Code 辅助 Git 提交
推荐的提交流程是:让 Claude 检查 diff 并撰写提交信息,再由你执行标准 Git 命令——清晰透明,且在提交前多一道确认关卡:
# 1. 查看当前变更 /diff !git status # 2. 让 Claude 生成 Conventional Commits 提交信息 Based on current git diff, generate a Conventional Commits message, and explain in Chinese why this category is appropriate. # 3. 确认后执行标准 Git 提交 !git add -A !git commit -m "feat(docs): update Claude Code workflow guidance"这种方式的优点:与官方当前能力对齐(不依赖已移除的内置命令)、提交前可审阅 diff 与信息、可在其他 AI IDE 或纯 Git 环境复用同一套流程。若想要"一条命令提交"的体验,可通过插件扩展(如安装commit-commands插件后使用/commit-commands:commit);仅需提交前检查时,优先使用/diff或让 Claude 解释git diff。
4.8 Shift+Tab 自动接受——提升迭代流畅度
默认情况下 Claude 每次修改代码前都会请求确认,学习阶段有益,熟悉后略显拖沓。按Shift+Tab进入自动接受模式,再按一次退出。
| 模式 | 行为 | 适用场景 |
|---|---|---|
| 默认模式 | 每次修改都请求确认 | 学习阶段、重要代码 |
| 自动接受 | 直接应用修改 | 熟悉之后、快速迭代 |
注意:自动接受模式下 Claude 会直接改文件、不再二次确认;建议配合 Git 使用以便回退;对敏感操作(删除文件、修改关键配置)Claude 仍会确认。
4.9 Ctrl+C 中断操作——紧急刹车
当 Claude 执行长任务或你发现指令有误时,Ctrl+C是紧急刹车:
- 按一次:取消正在执行的操作(进行中的命令/代码生成)。
- 按两次:完全退出 Claude Code。
与双击 Esc 的区别:Ctrl+C停止正在进行的操作;双击 Esc 撤销对话状态(回退上一轮)。
4.10 /context 查看上下文占用——优化 token 成本
/context显示当前会话的上下文使用情况,例如:
📊 Context Usage Token usage: 45,230 / 200,000 (22.6%) File references: 12 files Conversation rounds: 8 Top token-consuming files: 1. src/api/users.ts (3,420 tokens) 2. node_modules/@types/react/index.d.ts (2,890 tokens) 3. src/components/Dashboard.tsx (1,560 tokens) Suggestions: - Current usage is healthy, no compression needed - To reduce usage, add node_modules into .claudeignore利用这些信息:识别大文件(确认是否真的需要它);优化.claudeignore(忽略 node_modules、构建产物等无关文件);当占用超过 70% 时考虑/compact。
4.11 /resume 恢复会话——多任务上下文切换
处理多任务时,/resume可以在当前聊天中回到之前会话的上下文,无需重启:
# 任务1:修 bug claude> Fix login-page validation issue # ...一轮对话... # 任务2:加功能(新线程) claude> Add user registration feature # ...另一轮对话... # 回到任务1 claude> /resume # 继续之前的 bug 修复工作相关命令对比:
| 命令 | 功能 | 场景 |
|---|---|---|
/resume | 在当前聊天回到之前的会话 | 多任务切换 |
claude -c | 继续最近的会话 | 退出后重连 |
claude -r | 恢复某个历史会话 | 退出后找回之前状态 |
| 双击 Esc | 撤销一轮对话 | 回退最近的对话轮次 |
建议:多任务管理用/resume比重新解释上下文高效;每个会话上下文独立,/resume会完整保留;长会话中可先/compact再切换,保持上下文干净。
五、配置体系:让 Claude Code 适配你的项目与团队
5.1 配置文件位置与优先级
Claude Code 采用分层配置策略,不同层级作用域与优先级不同:
| 位置 | 作用域 | 用途 | 是否提交 Git |
|---|---|---|---|
.claude/settings.local.json | 项目本地 | 个人偏好 | 否 |
.claude/settings.json | 项目共享 | 团队配置 | 是 |
~/.claude/settings.json | 全局 | 个人默认值 | 否 |
合并规则:高优先级配置覆盖低优先级同名键;无冲突的键直接合并;项目配置覆盖全局配置;本地个人配置覆盖项目共享配置。
典型场景:
# 团队项目 ~/.claude/settings.json # 个人默认编辑器参数 .claude/settings.json # 团队编码规范与权限配置 .claude/settings.local.json # 个人调试偏好与主题参数 # 个人项目 ~/.claude/settings.json # 全局默认配置 .claude/settings.json # 项目专属配置(如特殊权限规则)5.2 CLAUDE.md——项目记忆
CLAUDE.md是 Claude Code 最重要的配置文件,相当于项目的"使用手册":每次启动都会读取当前目录的 CLAUDE.md,从而获知项目上下文、技术栈与约定。它的价值在于:不必反复解释框架与技术栈;Claude 遵循你的约定与最佳实践;新成员能更快上手。
最小可用模板:
# [项目名] ## 技术栈 - 框架:React 18 + TypeScript - 状态管理:Zustand - 样式:Tailwind CSS - 构建工具:Vite ## 常用命令 ```bash npm run dev # 启动开发服务器(端口 5173) npm run test # 运行单元测试 npm run build # 生产构建 npm run lint # Lint 检查代码规范
- 组件使用函数组件 + Hooks
- 命名:PascalCase(组件)、camelCase(工具函数)
- Git 提交遵循 Conventional Commits
- 所有 API 调用必须走统一请求封装
**推荐完整模板(含项目概述、技术栈、目录结构、命令、开发规则、环境变量、常见问题):** ```text # [项目名] ## 项目概述 一句话描述核心功能与目标用户。 ## 技术栈 ### 前端 - 框架:React 18 + TypeScript - 路由:React Router v6 - 状态:Zustand + React Query - 样式:Tailwind CSS + Headless UI - 构建:Vite ### 后端(如适用) - 运行时:Node.js + Express - 数据库:PostgreSQL + Prisma - 认证:JWT + bcrypt ## 项目结构src/ ├── components/ # 可复用组件 ├── pages/ # 页面组件 ├── hooks/ # 自定义 Hooks ├── lib/ # 工具函数 ├── types/ # TypeScript 类型 └── api/ # API 调用
## 常用命令 ```bash # 开发 npm run dev # 启动开发服务器 npm run dev:mock # 使用 mock 数据开发 # 测试 npm run test # 运行全部测试 npm run test:watch # 监听模式 npm run test:coverage # 生成覆盖率报告 # 代码质量 npm run lint # ESLint 检查 npm run lint:fix # ESLint 自动修复 npm run format # Prettier 格式化 npm run typecheck # TypeScript 类型检查 # 构建 npm run build # 生产构建 npm run preview # 预览生产构建开发规则
代码风格
- 使用函数组件,避免类组件
- 逻辑抽象优先使用自定义 Hooks
- 组件 props 必须定义 TypeScript 接口
Git 工作流
- 分支前缀:feature/、fix/、refactor/
- 提交信息遵循 Conventional Commits
- PR 必须通过 CI 与代码评审
性能要求
- 组件懒加载以缩短首屏时间
- 使用 WebP 图片并启用懒加载
- API 响应时间保持在 200ms 以内
环境变量
# .env.local VITE_API_BASE_URL=http://localhost:3000 VITE_APP_NAME=MyApp常见问题
开发服务器启动失败?
检查 5173 端口是否被占用,或尝试npm run dev -- --port 3000
类型报错?
运行npm run typecheck查看详细错误
**快速生成**:项目已存在但没有 CLAUDE.md 时,进入项目运行 `claude` 后执行 `/init`,Claude 会分析项目结构、package.json 与现有代码并生成实用的 CLAUDE.md,生成后再手工核对调整。 值得一提的是,easy-vibe 仓库本身就是一个可参照的实例:仓库根目录的 [AGENTS.md](https://link.gitcode.com/i/78612a50a5ec07d232e7fe4984fc9bff) 就承担了类似 CLAUDE.md 的职责——它记录了项目的 VitePress(Vue 3)文档站结构、`npm run dev/build/preview` 等命令、Prettier 格式约定、Conventional Commits 提交规范与部署说明。这份文件就是"项目记忆"的工程化实践。 ### 5.3 .claudeignore——省 token 的利器 `.claudeignore` 告诉 Claude Code 哪些文件不应读入上下文。合理配置通常可显著降低 token 消耗(文档给出的经验值约为 40%~60%)并提升响应速度。原因在于:`node_modules` 中的类型定义文件会消耗大量 token;日志与构建产物是噪音;`.env` 等文件包含敏感信息。 **推荐配置模板:** ```text # ===== 依赖 ===== # 大型第三方代码,通常对 Claude 上下文无用 node_modules/ .pnp/ .pnp.js # ===== 构建产物 ===== # 生成物,无源码逻辑 dist/ build/ .next/ out/ *.tsbuildinfo # ===== 日志 ===== # 运行日志,对理解架构无价值 *.log npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* lerna-debug.log* # ===== 测试产物 ===== coverage/ .nyc_output/ # ===== 编辑器 / IDE ===== .vscode/* !.vscode/extensions.json .idea/ *.suo *.ntvs* *.njsproj *.sln *.sw? # ===== 系统文件 ===== .DS_Store Thumbs.db # ===== 环境变量文件 ===== .env .env.local .env.*.local # ===== 大体积二进制文件 ===== *.png *.jpg *.jpeg *.gif *.svg *.ico *.mp4 *.webm # ===== 锁文件(可选)===== # 若不需要 Claude 分析依赖版本,可忽略它们 # package-lock.json # yarn.lock # pnpm-lock.yaml配置建议:从最小集开始(先忽略 node_modules 与构建产物,再观察 token 占用);按项目调整(图片多的项目忽略图片格式,文档项目保留 Markdown);定期用/context优化(看哪些文件最耗 token,决定是否忽略)。
5.4 权限配置
默认情况下 Claude Code 对敏感操作会请求确认。通过settings.json的permissions字段,可以控制哪些动作自动放行、哪些需要询问、哪些完全禁止。
配置结构:
{ "permissions": { "allow": [], "ask": [], "deny": [] } }规则语法为ActionType(pattern):
| 动作类型 | 说明 | 示例 |
|---|---|---|
Bash | 执行终端命令 | Bash(git status) |
Edit | 修改文件 | Edit(src/**/*.ts) |
Read | 读取文件 | Read(README.md) |
Write | 创建文件 | Write(src/components/*.tsx) |
通配符支持:*匹配任意字符(不含/);**匹配任意路径;?匹配单个字符。
真实配置示例:
{ "permissions": { "allow": [ "Bash(git status)", "Bash(git log:*)", "Bash(git diff:*)", "Bash(npm test:*)", "Bash(npm run lint:*)", "Edit(src/**/*.{ts,tsx})", "Edit(tests/**/*.test.ts)", "Read(src/**/*.ts)", "Write(src/components/*.tsx)" ], "ask": [ "Bash(git commit:*)", "Bash(git push:*)", "Bash(git pull:*)", "Bash(npm install:*)", "Bash(npm run build)", "Edit(package.json)", "Edit(tsconfig.json)", "Read(.env)", "Read(config/secrets.*)" ], "deny": [ "Bash(rm -rf:*)", "Bash(sudo:*)", "Bash(curl * | sh)", "Bash(wget * | sh)", "Edit(.git/*)", "Write(/etc/*)", "Read(/etc/passwd)" ] } }配置建议:开发阶段权限可相对宽松以加速迭代;生产阶段收紧权限,尤其针对部署与敏感数据操作;团队协作把基础规则放在共享的.claude/settings.json,个人微调放在settings.local.json。对应地,也可在会话内用/permissions命令动态调整。
5.5 规则目录(Rules)——大型项目的模块化管理
项目很大时,单个 CLAUDE.md 会变得臃肿难维护。Claude Code 支持通过规则目录按主题拆分约定:
.claude/ ├── settings.json # 主配置文件 ├── CLAUDE.md # 项目概览(始终需要) └── rules/ # 规则目录 ├── 00-security.md # 安全规则(全局) ├── 01-coding-style.md # 代码风格规则(全局) ├── 10-api.md # API 开发规则 ├── 11-frontend.md # 前端开发规则 ├── 12-backend.md # 后端开发规则 └── 20-testing.md # 测试规则命名建议:用数字前缀(00-、01-)控制加载顺序——基础规则在前,专项规则在后。
规则文件格式(支持 YAML frontmatter 声明适用性):
--- # 可选:该规则适用的路径 globs: - "src/api/**/*.ts" - "src/services/**/*.ts" # 可选:该规则适用的命令 commands: - "generate api" - "create endpoint" # 可选:规则优先级(数字越小优先级越高) priority: 10 --- # API Development Rules ## Route design - RESTful style, use plural nouns - Versioning: /api/v1/users - Nested resources: /api/v1/users/123/orders ## Request/response format - Use JSON consistently - Error response must include code and message - Pagination response uses { data, pagination } structure ## Security requirements - All endpoints must verify authentication (except public endpoints) - Sensitive operations require secondary confirmation - Implement rate limiting to prevent abuse继承与覆盖规则:无 frontmatter 或globs: *的全局规则适用于所有文件;指定路径的规则只作用于匹配文件;规则冲突时优先级高者胜出;专项规则可覆盖全局规则。
典型场景(前后端分离项目):
.claude/rules/ ├── 00-general.md # 通用规范(提交信息、命名) ├── 10-backend.md # 后端规范(NestJS 专属) ├── 11-frontend.md # 前端规范(React 专属) └── 20-database.md # 数据库规范(Prisma 专属)微服务架构场景:
.claude/rules/ ├── 00-global/ # 全局规则 │ ├── security.md │ └── logging.md ├── 10-services/ # 服务专属规则 │ ├── user-service.md │ ├── order-service.md │ └── payment-service.md └── 20-shared/ # 共享组件规则 ├── shared-lib.md └── common-utils.md从大 CLAUDE.md 迁移:创建.claude/rules/→ 按主题拆分 CLAUDE.md → 为每个规则文件添加合适的 frontmatter → 保留 CLAUDE.md 作为项目概览、把详细规范移入规则 → 测试确保规则加载正常。
六、核心操作命令速查
6.1 Slash 命令一览
以/开头的内置命令提供标准化的操作:
| 命令 | 功能 | 使用场景 |
|---|---|---|
/help | 显示全部命令 | 忘记命令时快速查找 |
/init | 初始化项目并生成 CLAUDE.md | 新项目或补充配置 |
/plan | 进入规划模式 | 复杂任务先做方案 |
/clear | 清空对话历史 | 上下文混乱时重新开始 |
/compact | 压缩上下文 | 长对话后省 token |
/diff | 打开交互式 diff 视图 | 查看当前未提交变更 |
/plugin | 管理插件 | 安装 commit/review 等扩展 |
/context | 显示上下文占用 | 优化 token 成本 |
/cost | 显示会话成本 | 监控使用费用 |
/config | 打开配置面板 | 更新参数 |
/permissions | 权限管理 | 调整操作权限 |
/model | 切换模型 | 选用不同模型 |
命令组合示例(完整开发流):
/plan # 1. 制定计划 # ...执行开发... /diff # 2. 检查变更 Generate a commit message from current diff !git add -A # 3. 暂存变更 !git commit -m "..." # 4. 提交 /cost # 5. 查看成本6.2 符号系统(Symbols)
| 符号 | 名称 | 用途 | 示例 |
|---|---|---|---|
/ | Slash 命令 | 执行内置操作 | /help、/plan |
@ | At 引用 | 引用文件/目录 | @src/app.tsx |
! | Bang 模式 | 执行终端命令 | !npm test |
& | 后台执行 | 后台运行任务 | &npm run dev |
符号组合技巧:
# 组合:读取 utils.ts,然后运行测试 @src/utils.ts !npm test # 同时引用两个目录做对比 @src/components/ @src/pages/ compare structures of these two directories # 查看指定文件的 diff 并让 Claude 解释 !git diff @src/app.tsx explain these changes6.3 文件操作
读取:
@src/app.tsx explain this file @src/utils/helpers.ts find potential performance issues @src/components/OldButton.tsx @src/components/NewButton.tsx compare differences修改:
# 简单修改 Modify formatDate in src/utils/date.ts to support Chinese locale format # 复杂重构(分条列出需求) @src/api/users.ts Refactor this file: 1. Extract duplicated error handling into shared handleError 2. Replace Promise chains with async/await 3. Add JSDoc comments # 批量修改 Convert all class components under src/components/ into function components创建:
# 创建单文件 Create src/components/UserCard.tsx, a card component to display user info # 创建关联文件组 Create user module: 1. src/types/user.ts - define User interface 2. src/api/users.ts - user API calls 3. src/components/UserCard.tsx - user card component 4. src/hooks/useUser.ts - hook to fetch user data删除(Claude 会请求确认并建议先检查引用):
Delete src/old-component.tsx (this component is no longer used)6.4 Git 操作
# 查看状态与 diff Show git status and uncommitted changes !git diff Explain changes in src/api/users.ts # 创建提交 /diff Generate a Conventional Commit message from current git diff !git add -A !git commit -m "..." # 分支操作 !git checkout -b feature/user-authentication Generate commit message based on current changes !git add -A !git commit -m "..." !git push -u origin feature/user-authentication完整 Git 工作流示例:
# 1. 开启新功能分支 !git checkout -b feature/payment-integration # 2. 在 Claude 帮助下开发功能 Create payment module with Alipay and WeChat Pay # 3. 运行测试 !npm test # 4. 检查变更 /diff # 5. 生成并确认提交信息 Generate a Conventional Commit message from current git diff !git add -A !git commit -m "..." # 6. 推送到远端 !git push -u origin feature/payment-integration # 7. 可选:用 GitHub CLI 创建 PR !gh pr create --title "feat: add payment integration" --body "Support Alipay and WeChat Pay"6.5 代码操作
生成:
# 生成组件 Create a React Hook to manage auth state, including login/logout/permission checks # 生成工具函数 Create a date-formatting utility that supports relative time (e.g. "2 hours ago") # 生成完整模块 Create order module with: - order list page - order detail page - create-order API - order status management解释:
# 逐行解释 Explain src/algorithms/quicksort.ts line by line # 架构级解释 @src/services/payment.ts explain architecture design of this module # 解释复杂逻辑 Explain what reduce in src/utils/dataTransformer.ts is doing重构:
# 架构级重构 Convert class components in src/components/ to function components # 性能优化 Optimize rendering performance in src/App.tsx, reduce unnecessary re-renders # 清理型重构 @src/utils/helpers.ts Refactor this file: 1. Delete unused functions 2. Extract repeated logic into shared utilities 3. Add type definitions 4. Improve function naming调试:
# 错误分析 npm test failed, analyze root cause and fix it # 性能分析 @src/components/DataTable.tsx This component renders slowly, find bottlenecks # 日志分析 !cat logs/error.log Analyze these error logs and identify root cause6.6 测试操作
# 生成测试 Generate unit tests for src/utils/math.ts, including boundary cases Generate React Testing Library tests for src/components/UserForm.tsx Create integration test for user registration flow from form submission to DB write # 运行与调试 !npm test Analyze failure reasons and fix @tests/auth.test.ts !npm run test:coverage Which code paths are not covered?测试策略建议:
I added user authentication. Please: 1. Generate unit tests for auth.service.ts 2. Generate component tests for LoginForm 3. Run all tests and ensure pass6.7 命令链与工作流编排
场景一:Bug 修复流
# 1. 检查问题 !npm test Tests failed, analyze why # 2. 定位问题 @src/utils/validation.ts Is the issue in this file? # 3. 修复 Fix isEmail in validation.ts to correctly handle addresses containing + # 4. 验证 !npm test # 5. 提交 Generate a fix-type commit message from current diff !git add -A !git commit -m "fix: ..."场景二:代码评审流
# 1. 查看变更概览 !git diff --stat Which files changed? # 2. 详细评审 @src/components/ Review these component changes # 3. 提出改进建议 What improvements should be made based on this review? # 4. 落实改进 Optimize performance of UserList component # 5. 终审 /diff Review current changes and point out potential risks and improvements场景三:新功能开发流
# 1. 先规划 /plan I want to add shopping cart feature # 2. 建分支 !git checkout -b feature/shopping-cart # 3. 按计划分步实现 Implement step by step according to plan # 4. 补测试 Generate tests for shopping cart module # 5. 跑测试 !npm test # 6. 代码评审 /diff Please do a code review on current diff # 7. 提交 Generate commit message for this feature development !git add -A !git commit -m "feat: ..." !git push七、常见问题排查
7.1 Token 消耗太快?
先执行/context检查当前 token 占用,重点关注:占用率(超过 70% 考虑压缩上下文)、引用文件数量(越多越耗 token)、大文件(哪些文件最耗 token)。
优化策略:
1. 完善 .claudeignore
# 务必忽略 node_modules/ dist/ build/ *.log .env # 项目相关 # React .next/ out/ # Vue .nuxt/ .output/ # 通用 .vscode/ .idea/ coverage/ *.min.js *.bundle.js2. 定期压缩上下文:长对话建议每 5~6 轮执行一次/compact。
3. 精确引用文件:避免无必要地引用整个目录——用@src/utils/auth.ts @src/components/Login.tsx Explain login flow代替@src/ Explain this code。
4. 避免读取大文件:若/context显示某文件极耗 token,考虑是否真的需要它、能否只引用某个片段、能否拆分成更小的模块。
7.2 Claude 不了解项目?
如果回答不准确或反复询问项目基本信息,说明它缺少项目上下文。解决方案:
- 运行
/init生成 CLAUDE.md,并核验:项目概述是否准确、技术栈是否完整、常用命令是否正确、编码规范是否清晰。 - 手工补充 CLAUDE.md:
## 项目专属信息 ### 架构决策 - 为什么选 X 而不是 Y? - 核心设计模式有哪些? ### 常见陷阱 - 使用 useEffect 时注意... - 数据库查询必须... ### 第三方集成 - 支付走 Stripe - 邮件走 SendGrid - 文件存储走 AWS S3- 用规则目录管理大项目的规范(见 5.5 节)。
- 在 prompt 中补充必要上下文:
We use a custom useAuth Hook for authentication. It returns { user, login, logout, isLoading }. Please build a user-menu component based on this Hook.7.3 如何撤销操作?
场景一:撤销对话状态——只是打错字或不喜欢回答:
双击 Esc -> 撤销上一轮 三击 Esc -> 清空全部对话历史注意:这只撤销对话状态,不撤销文件修改。
场景二:撤销文件修改——Claude 已改动文件时手动回退:
# 查看变更 !git status !git diff # 回退单个文件 git checkout -- src/utils/helpers.ts # 回退工作区全部改动 git checkout -- . # 已提交则软回退(保留改动) git reset --soft HEAD~1 # 硬回退(丢弃改动) git reset --hard HEAD~1场景三:预防性 Git 工作流——会话开始前先保存现场:
# 开始前保存当前状态 git add . git commit -m "WIP: before Claude Code session" # 或用 stash git stash push -m "before claude" # 与 Claude Code 协作开发... # 结果不满意,完全回退 git reset --hard HEAD~1 # 或 git stash pop7.4 权限询问过多?
频繁的权限确认会拖慢节奏,合理配置权限可让流程更顺滑。权限分为三级:allow(自动放行)、ask(执行前询问)、deny(完全禁止)。编辑.claude/settings.json优化:
{ "permissions": { "allow": [ "Bash(git status)", "Bash(git log:*)", "Bash(git diff:*)", "Bash(git branch)", "Bash(npm test:*)", "Bash(npm run lint:*)", "Bash(npm run typecheck)", "Bash(npm run dev:*)", "Edit(src/**/*.{ts,tsx})", "Edit(tests/**/*.test.ts)", "Write(src/**/*.ts)" ], "ask": [ "Bash(git commit:*)", "Bash(git push:*)", "Bash(git pull:*)", "Bash(npm install:*)", "Bash(npm uninstall:*)", "Bash(npm run build)", "Bash(npm run deploy:*)", "Edit(package.json)", "Edit(tsconfig.json)", "Read(.env)", "Read(config/secrets.*)" ], "deny": [ "Bash(rm -rf:*)", "Bash(sudo:*)", "Bash(curl * | sh)", "Bash(wget * | sh)", "Edit(/etc/*)", "Write(/usr/*)", "Edit(.git/*)" ] } }渐进式权限策略:学习阶段保留默认,观察 Claude 想执行什么;熟悉阶段把git status、npm test等安全高频操作加入 allow;高效阶段基于项目特征建立精细规则。
7.5 中国区如何顺畅使用?
除上文 2.5 节的 API 代理方案外,还有几条路径:
路径一:代理 API 服务——许多云厂商提供兼容 Anthropic 格式的 API 代理:
export ANTHROPIC_BASE_URL="https://your-api-proxy.com/v1" export ANTHROPIC_API_KEY="your-api-key" claude路径二:第三方兼容工具——部分国内厂商提供兼容版本:
npm install -g @some-provider/claude-code claude config set api.key your-api-key claude config set api.baseUrl https://api.some-provider.com路径三:让 AI Agent 协助配置——把厂商信息直接交给 Agent:
I want to use Claude Code, but I cannot directly access it in mainland China. I bought an API from provider XXX. API endpoint is https://api.xxx.com, key is sk-xxx. Please configure environment variables so Claude Code can work correctly.【免费下载链接】easy-vibe💻 vibe coding 101|The first course for AI-native product builders.项目地址: https://gitcode.com/GitHub_Trending/ea/easy-vibe
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考