Claude Code 使用指南
项目结构与启动原则
重要:单一项目原则
Claude Code 是基于项目文件夹的工具,它在生成 claude.md 时会参考整个 codebase 代码库。如果启动目录包含多个项目,会导致==上下文混乱和逻辑冲突==
问题场景:在做新需求时,AI 既会参考空间里的 A 项目,也会参考 B 项目,容易出错。
最佳实践:
- ✅ 每个完整项目都有自己的单独文件夹
- ✅ 在终端里进入到具体项目文件夹后启动 CC
- ✅ 确保参考的 codebase 只包含当前项目
模式选择
在 Claude Code 中有 3 种模式,通过 Shift+Tab 可以切换:
1️⃣ 普通模式
普通模式
进入主界面就是普通模式,适合一般的对话和任务执行。
2️⃣ Plan 模式
推荐:Plan 模式
这个模式只会讨论沟通,不会执行写代码。在项目前期需要规划功能时使用,会自动给出计划方案并与你确认是否执行。
3️⃣ 自动接受编辑模式
自动执行模式
根据与 AI 讨论的方案,自动进行任务执行(如写代码)。
推荐工作流:
1. 一开始使用 Plan 模式(最佳)
2. 与 CC 讨论需求,让它不断调整方案和文档建议
3. 确定好后退出 Plan 模式
4. 切换到普通或自动接受模式执行
思考模式
Extended Thinking(扩展思考)
在 Claude Code 中可以通过 think 提示词来激活思考模式。
思考层级
思考程度依次增强:
"think" < "think hard" < "think harder" < "ultrathink"
工作原理
通过调节 思考预算(即模型在内部推理阶段可用的资源/token 数),让模型在遇到复杂任务时"多花点时间思考"再出结果:
- ✅ 效果会更好
- ⚠️ 费用也会更多
注意
这个扩展思考模式不是切换模型,只是让同一个模型在内部保留更多推理步骤或 token 数来思考更久。
示例用法:
think harder 分析这段代码的作用
Claude.md 创建
Claude.md 是什么?
这是一个特殊文件,类似官方提供的你和 CC 之间的 备忘录。Claude 在开始对话时会自动将其内容拉入上下文。
用途
可以记录:
- 🔹 个人习惯(特殊偏好、常用命令、代码风格等)
- 🔹 项目要求(项目背景、注意事项、测试说明等)
- 🔹 一切你想要 Claude 知悉的事项
Claude.md 的两个级别
| 级别 | 作用范围 | 说明 |
|---|---|---|
| 用户级 | 全局生效 | 不关联项目,任何项目都会遵守 |
| 项目级 | 仅当前项目 | 只对该项目生效,切换项目后失效 |
创建方式
方式 1:使用 /init 命令
/init
会自动参考项目空间 codebase 生成文档。
方式 2:使用 # 添加 Memory
# 这里添加 memory 的实际内容
然后选择添加到用户级还是项目级。
查看 Claude.md
使用 /memory 命令查看记录内容(项目级和用户级都可查看):
/memory
工作流管理
核心原则
文档,文档,还是文档!只要把需求细节都讲清楚,让它照着文档做,选个好模型,做出来的产品与预期不会偏离太多。
Spec 工作流
Spec 即 规范规格,用规格文档来驱动 AI 开发。可以理解为这个规格是 AI 要遵守的唯一契约,必须按照 spec 文档执行。
Spec 四部曲
1️⃣ 写需求文档
需求文档要点
这个文档无关技术,主要关于:
- 项目描述
- 功能需求
- 目标人群
将模糊想法转化为结构化需求,让 AI 生成一个规范文档。
2️⃣ 写技术文档
把刚生成的规范文档以及你的技术偏好、项目约束发给 AI:
- 框架选择
- 编程语言
- 测试计划
- 其他技术约束
让它生成一个完整的技术文档。
3️⃣ 写 TODO 文档
把上面的两个文档再发给 AI,让它参考这两个文档:
- 将功能需求拆分成具体的、可执行的子任务
- 每个任务都可以独立实现和测试
4️⃣ 实现 (Implementation)
- 让 AI 把上面的 3 个文档汇总成一个大的
spec.md - 发给你确认,有问题就修改
- 确认无误后发给 AI,让它进行代码编写
Spec vs Claude.md
| 对比项 | Claude.md | Spec 文档 |
|---|---|---|
| 侧重点 | 全局习惯和偏好 | 具体功能的详细实现计划 |
| 作用范围 | 相对更大 | 聚焦单个功能/需求 |
| 使用建议 | 记录长期有效的规则 | 针对特定需求的详细方案 |
简单需求
对于简单小需求,只写一个即可。
上下文问题的解决
问题:上下文丢失
现在模型上下文都很有限,如果上下文用满后再开一个窗口,不能把这些上下文内容 100% 记录,就会造成上下文丢失,开发效果会大大折扣。
解决方案:文档记录正好解决了这一问题,可以让 AI 看到完整的上下文背景信息。
个人工作流实践
我的工作流习惯:
- 准备阶段:先自己写个大致文档需求
- 讨论阶段:发给 AI 并基于这个文档讨论沟通,让它给建议
- 确认阶段:让它把讨论过程中确认的信息完整复述,确保双方理解无误
- 文档化阶段:确认无误后让它更新到之前的文档中
- 包含 spec 完整环节(技术文档、任务拆分等)
- 生成最终文档
- 执行阶段:将最终文档发给它,让它开始执行
- 测试阶段:测试需求效果
工具实战指南
三大核心能力
- Plugin 系统:让它从工具变成平台
- Subagent:让它更智能地理解和执行任务
- MCP 增强:让它能连接更广阔的工具生态
场景 1:微服务拆分决策(高风险架构决策)
背景:单体应用用户量暴涨,考虑拆微服务,但怕拆坏了。
Step 1:深度思考 (sequential-thinking MCP)
分析我们这个单体应用,是否适合拆微服务?考虑:
- 团队规模(15人)
- 技术栈(Spring Boot 单体)
- QPS(5000)
- 业务复杂度
- 运维能力
- 迁移成本
输出:完整推理链,3 个方案对比(不拆/部分拆/全拆)
Step 2:查技术方案 (context7 MCP)
查 Spring Cloud Alibaba 的服务拆分最佳实践和 Seata 分布式事务方案
输出:官方文档相关章节,4 种事务方案对比
Step 3:记录决策 (memory MCP)
记住:我们的微服务拆分原则:
1. 按业务域拆,不按技术层拆
2. 优先拆读多写少的服务
...
Step 4:制定执行计划 (SubAgent: backend-architect)
基于上述决策,制定详细的微服务拆分计划:
1. 识别服务边界
2. 设计迁移方案(分阶段,可回滚)
...
输出:6 步完整迁移计划
场景 2:生产事故快速响应(争分夺秒)
事故场景
"线上支付服务挂了,订单超时率 80%"
自动触发 Skill:incident-response
阶段 1:并行排查(3 个 SubAgent 同时工作)
| SubAgent | 任务 | 发现 |
|---|---|---|
devops-troubleshooter |
扫描日志 | 大量数据库慢查询 |
performance-engineer |
检查资源 | CPU/内存正常,但数据库连接池打满 |
database-optimizer |
分析 SQL | 某个 SQL 从 0.1s 变成 5s |
阶段 2:根因定位 (sequential-thinking MCP)
基于上述数据,分析根因:
- SQL 为何突然变慢?
- 为何今天才出问题?
...
输出:根因:订单表数据量突破 1000 万,某个未加索引的查询开始全表扫描
阶段 3:生成止损方案 (Skill 内部逻辑)
输出:3 个方案对比(快速/中期/根治)
阶段 4:执行(一键复制命令)
输出:可执行命令
kubectl scale...
ALTER TABLE...
最后:记录到 memory (memory MCP)
记住:订单表到 1000 万行会有性能问题,需提前分库分表
场景 3:接手遗留项目(快速上手)
背景:接手一个 2 年没人维护的老项目,代码无文档。
Step 1:项目全貌扫描 (SubAgent: Explore)
探索这个项目:
1. 识别技术栈和依赖
2. 找到核心模块和入口
...
输出(10 分钟):项目架构图、核心模块清单、风险清单
Step 2:关键逻辑理解(并行调用 3 个 SubAgent)
| SubAgent | 任务 | 输出 |
|---|---|---|
backend-architect |
分析用户登录流程 | 登录流程时序图 |
database-optimizer |
分析数据库设计 | ER 图 |
security-auditor |
扫描安全漏洞 | 7 个安全风险点 |
Step 3:技术债评估 (Skill: tech-debt-manager)
输出:
- 高优先级技术债(5 个)
- 建议优先偿还的 3 个
Step 4:依赖升级计划 (Skill: dependency-upgrade-check)
检测到:
- 3 个依赖有已知 CVE 漏洞
- 生成分阶段升级计划
Step 5:知识沉淀 (memory MCP)
把这个项目的关键信息记住:
- 核心模块和职责
- 数据库表和字段含义
...
场景 4:新功能完整开发流程(端到端)
Phase 1:需求分析 (sequential-thinking MCP)
分析积分系统需求:
- 核心功能:赚积分、花积分...
- 风险:超发、作弊、性能
输出:功能拆解、技术方案选型(Redis+MySQL 双写)
Phase 2:查技术方案 (context7 MCP)
查 Redis 分布式锁的最佳实践和积分系统的反作弊方案
输出:Redisson 分布式锁示例、防御手段
Phase 3:数据库设计 (SubAgent: database-optimizer)
设计积分系统的数据库表结构...
输出:完整 DDL、索引设计
Phase 4:开发(写代码)
正常开发过程
Phase 5:Code Review (Skill: smart-code-review)
自动触发:检查并发安全、SQL 性能、异常处理...
Phase 6:提交前检查(斜杠命令:/commit)
自动执行:
- 运行单测
- 检查代码规范
- 生成 commit message
Phase 7:记录 (memory MCP)
记住积分系统的实现:
- 用 Redis 计数器 + MySQL 持久化
...
场景 5:技术栈升级(高风险迁移)
背景:Vue 2 升级到 Vue 3,涉及 200+ 组件。
Step 1:影响面评估 (SubAgent: frontend-developer)
分析这个 Vue 2 项目升级到 Vue 3 的影响:
- 哪些 API 发生了 breaking change
...
输出:
- 需要改动的文件清单(185 个)
- 不兼容的库(3 个)
- 估算工作量:15 人天
Step 2:查迁移指南 (context7 MCP)
查 Vue 3 官方迁移指南和常见坑
输出:官方 migration guide、社区常见问题合集
Step 3:制定迁移计划 (sequential-thinking MCP)
制定分阶段、可回滚的 Vue 3 迁移计划...
输出:5 个阶段的迁移计划,每阶段的回滚方案
Step 4:自动化迁移 (Skill: migration-script)
执行:用 ast-grep 批量替换:this.$xxx → Composition API
Step 5:逐批验证 (Skill: migration-validator)
每迁移一批:
- ✅ 运行单测
- ✅ 运行 E2E 测试
- ✅ 检查 bundle size
Step 6:记录 (memory MCP)
记住 Vue 2→3 迁移的坑:
- Element UI 要换成 Element Plus
...
综合实战
实战任务
基于你团队最烦的事,写一个 Skill 或斜杠命令:
- 代码提交流程
- PR 创建流程
- 新人环境配置
- 等等
验收标准(做到这 5 点算成功)
- [ ] 说 "查 React 19 最新文档",能调用 context7 返回结果
- [ ] 说 "分析该不该用微服务",能用 sequential-thinking 深度推理
- [ ] 说 "记住我们用 PostgreSQL",下次相关问题能自动调用 memory
- [ ] 说 "准备提交代码",能自动触发 pre-commit-check (Skill)
- [ ] 输入
/release,能执行完整发布流程(用上面自己定义的 slash command 实现)
升级完成
做到这 5 点,你的 Claude 就从 聊天助手 升级成 智能工作流系统 了。
最佳实践
1️⃣ 不要贪多,先用三件套起步
推荐起步配置
MCP(必装 3 件套):
- memory - 记忆管理
- context7 - 文档查询
- sequential-thinking - 深度推理
Skills(先写 3 个):
- 代码检查
- 文档同步
- 依赖评估
SubAgents:
- 遇到复杂问题再调度
- 不用提前学
其他的,等这 3 个用顺了再说。
2️⃣ 设计自己团队的工作流剧本
把团队最烦的 3 件事自动化:
- 代码提交流程(自动检查 + commit)
- 生产事故响应(并行排查 + 生成方案)
- 新人入职流程(自动化环境 + 知识导入)
投入产出比
这 3 个做好,投入产出比最高。
3️⃣ 让知识沉淀,而不只是用一次
用 memory MCP 记录:
- 团队踩过的坑
- 重要的架构决策
- 经常用的配置和规范
核心理念
好的工具链会自己长知识。
相关资源
- Claude Code 配置
- MCP 服务器配置
- Skill 开发指南
- SubAgent 使用手册