claude code使用命令技巧(一)(项目初始化、规范约束模板)

前置说明: 本人使用claude code + cc-switch + vs code

问题一、claude code接入项目后,初始化需要执行的命令

一、首次打开项目先执行(聊天框斜杠命令)

1. 查看初始上下文负载,判断项目体量

plaintext

复制代码
/context

作用:查看当前加载了多少文件、token 占用,提前预判会不会出现缓存爆炸。

2. 生成项目认知文件(核心,避免乱读文件、跑偏业务)

plaintext

复制代码
/init

该命令会自动分析项目结构、技术栈、模块用途,在项目根生成 CLAUDE.md

建议手动打开 CLAUDE.md 补充约束规则(限制自动扫描全工程,解决你之前 cache read 过高问题),模板追加到文件末尾:

markdown

复制代码
## 读取约束规则
1. 禁止自动遍历加载整个项目所有代码,仅当用户明确指定文件路径时再读取源码;
2. 只在处理当前需求时加载对应模块的代码,无关包、配置一律不主动读取;
3. 测试场景只加载 test 下对应测试类,不要加载全部测试用例;
4. 废弃注解 @MockBean 允许使用,无需强制替换,仅做提示即可。

3. 可选:重置空白会话,杜绝旧会话上下文串扰

如果这个项目之前打开过、残留旧会话缓存:

plaintext

复制代码
/clear

清空当前会话内存上下文,新项目全新开始。

4. 开启思考可视化(方便排查 Claude 读取了哪些文件)

快捷键:Ctrl+O开启后可以实时看到 Claude 的推理过程、读取了哪些文件,后续出现缓存过高时用来定位根源。

二、初始化完成后的基础规范命令(日常配套)

  1. 每次开始新独立需求前

plaintext

复制代码
/compact

压缩上一轮对话,清理无用缓存,只保留项目基础认知。2. 切换完全无关业务模块时

plaintext

复制代码
/clear

彻底重置上下文。3. 想并行两套方案不互相污染

plaintext

复制代码
/branch 新需求名称

三、进阶初始化:限制 Claude 自动索引全项目(解决大量 cache read)

方式 1:通过 .claudeignore 忽略不需要参与分析的目录

在项目根新建 .claudeignore,用法和 .gitignore 一致,写入不需要 Claude 读取的目录:

plaintext

复制代码
# 忽略打包产物
target/
build/
dist/
# 忽略前端静态资源
static/
assets/
# 忽略文档、配置备份
docs/
*.bak
# 忽略第三方sdk、本地缓存
node_modules/

写入后 Claude 永远不会主动读取这些目录,从源头减少缓存。

方式 2:初始化阶段手动下发约束指令

首次接入项目执行完 /init 后发送这段话:

plaintext

复制代码
后续行为约束:
1. 非我主动要求,禁止主动扫描、读取项目任意Java、yml配置文件;
2. 分析代码仅限我发给你的文件路径;
3. 遇到废弃forRemoval=true的注解只黄色警告提醒,不要判定为错误。

四、排查初始化异常的诊断命令(项目加载错乱时用)

  1. /doctor:诊断项目加载状态、文件读取策略、缓存占用异常
  2. /debug:查看初始化阶段读取了哪些文件、缓存读写明细
  3. /ls-sessions:查看当前项目绑定了多少历史会话,清理无用旧会话

五、完整标准初始化顺序(照着一步步执行即可)

  1. 打开项目,打开 Claude Code 聊天面板
  2. 执行 /clear 清空可能残留的外来上下文
  3. 执行 /init 自动生成 CLAUDE.md
  4. 编辑 CLAUDE.md 加上「文件读取限制规则」
  5. 新建 .claudeignore 屏蔽无用目录
  6. Ctrl+O 开启思考详情展示
  7. /context 确认初始上下文负载正常
  8. 正式开始编写需求

六、针对你当前场景额外初始化配置(SpringBoot 测试场景)

CLAUDE.md 追加测试专属规则,适配你 @MockBean 废弃爆红的问题:

markdown

复制代码
## 测试编码规则
1. SpringBoot 3.5 测试中允许使用 @MockBean,仅提醒废弃,不要判定错误;
2. 如需重构Mock逻辑,优先推荐替换为 @MockitoBean;
3. 单元测试只加载被测试的类 + Mock依赖,不加载整个Spring容器全部Bean。

七、各个命令作用区分

表格

命令 初始化阶段用途
/init 生成项目说明书 CLAUDE.md,让 AI 看懂项目架构
/clear 清空外来上下文,新项目纯净初始化
/compact 初始化收尾精简初次分析的冗余内容
/context 检查初始化后的缓存负载是否正常
/branch 初始化多个分支用来并行开发不同功能

问题二、完整版 CLAUDE.md + .claudeignore 模板,适配 SpringBoot Maven 项目(仅供参考,按项目需求修改)

一、CLAUDE.md 完整模板(SpringBoot Maven 项目,直接放进项目根目录)

markdown

复制代码
# 项目全局说明
## 基础信息
- 项目框架:SpringBoot 3.5.x + Maven
- 编程语言:Java 21
- 构建工具:Maven
- 测试框架:JUnit 5 + Mockito + SpringBootTest
- 核心模块:业务服务层、向量Embedding、PgVector向量库、单元测试模块

## 项目结构约定
1. src/main/java:业务正式代码
2. src/test/java:单元测试、集成测试代码
3. src/main/resources:配置文件
4. target:编译产物,无需读取

## 强制读取约束(解决缓存 Cache Read 过高核心规则)
1. **禁止自动全盘扫描整个项目代码**,未收到我指定文件路径时,不许主动加载任何 .java、yml、properties 配置文件;
2. 仅当我明确提供文件路径/类名,才去读取对应源码;
3. 编写单元测试时,只加载被测类 + 需要 Mock 的依赖类,禁止加载整个工程全部代码;
4. 读取文件遵循最小原则:只读取当前需求用到的 1~3 个文件即可,禁止批量加载整个包下所有类;
5. 不会主动读取 target、build、docs、静态资源、备份配置等无关目录。

## 编码规范
1. 遵循项目原有代码风格,不擅自重构已有业务逻辑;
2. 新增代码必须配套单元测试;
3. 使用构造注入,避免字段注入;
4. 异常统一使用项目全局异常体系。

## 测试规则(适配你 @MockBean 废弃警告问题)
1. SpringBoot 3.5 测试代码中允许继续使用 @MockBean,仅做黄色废弃提醒,不要判定为错误、强制修改;
2. 优化重构场景下,推荐将 @MockBean 替换为官方新版 @MockitoBean;
3. 单元测试尽量轻量化,优先使用 MockBean/MockitoBean,避免完整拉起 Spring 容器。

## 缓存与会话规范
1. 单次需求结束后自动精简上下文,避免堆积历史对话造成缓存暴涨;
2. 不同业务模块尽量新开 /branch 分支会话隔离,防止上下文互相污染。

## 废弃API处理规则
1. 遇到 @Deprecated(forRemoval = true) 标记的注解/类,仅警告提示,禁止判定为错误;
2. 仅在重构优化阶段,才主动给出替换方案。

二、.claudeignore 模板(放在项目根,拦截无用目录,大幅减少缓存开销)

用法等同于 .gitignore,写入后 Claude Code 永远不会主动读取这些目录:

plaintext

复制代码
# 忽略以下所有目录, 拦截无用目录,大幅减少缓存开销

# 编译产物
target/
build/
dist/
*.class
*.jar
*.war

# IDE 配置
.idea/
.vscode/
*.iml
*.iws
*.ipr

# 文档、备份、日志
logs/
docs/
*.bak
*.txt

# 前端资源、第三方依赖
node_modules/
static/
assets/
public/

# 本地运行缓存
tmp/
cache/

三、新项目接入完整初始化执行顺序(一步步执行)

  1. 打开项目,打开 Claude Code 对话框,执行清空残留会话:

plaintext

复制代码
/clear
  1. 自动生成基础项目认知文件:

plaintext

复制代码
/init
  1. 将上面两份模板内容,分别覆盖写入根目录 CLAUDE.md、新建 .claudeignore
  2. 开启实时思考日志(方便查看它读取了哪些文件):快捷键 Ctrl+O
  3. 查看当前上下文负载是否正常:

plaintext

复制代码
/context
  1. 初次项目分析完成后精简冗余缓存:

plaintext

复制代码
/compact

四、配套长期使用工作流(避免后续缓存持续暴涨)

  1. 完成一个功能需求 → /compact 压缩会话上下文;
  2. 切换完全无关的新模块开发 → /clear 重置会话;
  3. 想要并行两套实现方案互不干扰 → /branch 功能名称
  4. 发现它乱读取大量无关文件时,再次发送约束指令:

plaintext

复制代码
严格遵守CLAUDE.md规则,禁止主动读取任何未指定的源码文件。

补充

  1. 两份文件都可以提交 Git,团队所有人打开项目都会自动生效这套约束;
  2. 配置完成后,cache read 大量上涨的问题会得到根治;
  3. 针对你 @MockBean 爆红问题,配合之前 IDEA 把 Usage of API marked for removal 降级为 Warning 即可彻底只留黄色警告。

问题三、一键初始化指令,粘贴后自动执行整套初始化流程

一、一键初始化完整指令(直接粘贴发送到 Claude Code 对话框即可自动执行整套初始化流程)

plaintext

复制代码
# 全局初始化任务,请严格按顺序执行
1. 执行 /clear 清空当前会话残留上下文,新建纯净会话;
2. 执行 /init 自动生成项目 CLAUDE.md;
3. 将项目根目录 CLAUDE.md 替换为约定好的SpringBoot专用约束模板;
4. 在项目根目录创建 .claudeignore 文件并写入标准忽略规则;
5. 开启思考详情模式(Ctrl+O 逻辑),后续推理步骤全部完整展示;
6. 执行 /context 输出当前上下文占用、文件加载情况;
7. 执行 /compact 精简初始化产生的冗余缓存;
8. 全程遵守CLAUDE.md内读取规则:禁止主动全盘扫描项目源码,仅我指定路径才读取文件;
9. 针对 @MockBean 注解仅做废弃提醒,不要判定为错误强制替换。

## CLAUDE.md 完整内容(直接覆盖写入)
# 项目全局说明
## 基础信息
- 项目框架:SpringBoot 3.5.x + Maven
- 编程语言:Java 21
- 构建工具:Maven
- 测试框架:JUnit 5 + Mockito + SpringBootTest
- 核心模块:业务服务层、向量Embedding、PgVector向量库、单元测试模块

## 项目结构约定
1. src/main/java:业务正式代码
2. src/test/java:单元测试、集成测试代码
3. src/main/resources:配置文件
4. target:编译产物,无需读取

## 强制读取约束(解决缓存 Cache Read 过高核心规则)
1. **禁止自动全盘扫描整个项目代码**,未收到我指定文件路径时,不许主动加载任何 .java、yml、properties 配置文件;
2. 仅当我明确提供文件路径/类名,才去读取对应源码;
3. 编写单元测试时,只加载被测类 + 需要 Mock 的依赖类,禁止加载整个工程全部代码;
4. 读取文件遵循最小原则:只读取当前需求用到的 1~3 个文件即可,禁止批量加载整个包下所有类;
5. 不会主动读取 target、build、docs、静态资源、备份配置等无关目录。

## 编码规范
1. 遵循项目原有代码风格,不擅自重构已有业务逻辑;
2. 新增代码必须配套单元测试;
3. 使用构造注入,避免字段注入;
4. 异常统一使用项目全局异常体系。

## 测试规则(适配 @MockBean 废弃警告问题)
1. SpringBoot 3.5 测试代码中允许继续使用 @MockBean,仅做黄色废弃提醒,不要判定为错误、强制修改;
2. 优化重构场景下,推荐将 @MockBean 替换为官方新版 @MockitoBean;
3. 单元测试尽量轻量化,优先使用 MockBean/MockitoBean,避免完整拉起 Spring 容器。

## 缓存与会话规范
1. 单次需求结束后自动精简上下文,避免堆积历史对话造成缓存暴涨;
2. 不同业务模块尽量新开 /branch 分支会话隔离,防止上下文互相污染。

## 废弃API处理规则
1. 遇到 @Deprecated(forRemoval = true) 标记的注解/类,仅警告提示,禁止判定为错误;
2. 仅在重构优化阶段,才主动给出替换方案。

## .claudeignore 完整内容
# 忽略以下所有目录, 拦截无用目录,大幅减少缓存开销

# 编译产物
target/
build/
dist/
*.class
*.jar
*.war

# IDE 配置
.idea/
.vscode/
*.iml
*.iws
*.ipr

# 文档、备份、日志
logs/
docs/
*.bak
*.txt

# 前端资源、第三方依赖
node_modules/
static/
assets/
public/

# 本地运行缓存
tmp/
cache/

二、使用方式

  1. 打开 VSCode / IDEA 的 Claude Code 对话窗口;
  2. 完整复制上面一大段文本粘贴发送;
  3. 等待它自动完成:清空会话 → 生成并替换 CLAUDE.md → 创建 .claudeignore → 自检上下文 → 压缩缓存;
  4. 初始化结束后,你后续开发就会自动遵守「不乱读文件、控制缓存、MockBean 只警告不报错」这套规则。
相关推荐
1名持续学习的码农5 小时前
GPT Plus、GPT Pro用户第一次用Codex,项目权限和Git分支怎么设置?
人工智能·git·gpt·elasticsearch·ai编程·codex
yuanyxh5 小时前
AI Agent 的使用进化史
agent·ai编程·claude
thesky1234566 小时前
27届大模型岗面试准备(十三):长上下文与上下文工程——从位置外推到分块策略的完整考点
人工智能·ai·大模型
kyriewen6 小时前
Claude自己跑出去hack了3家公司——我为什么还在用它写代码
前端·ai编程·claude
西安小哥7 小时前
AI时代全栈面试通关指南:从背八股到聊架构
面试·ai编程
妙码生花7 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(四十八):菜单规则管理实现
前端·后端·ai编程
FantasticPerson7 小时前
46 · 综合实战:从零到上线,把所学串成一条线
ai编程·claude
windliang8 小时前
Claude Code 源码分析(四):Tool 工具系统-从 Schema 到真实执行
前端·ai编程·claude
Lx3528 小时前
用 TRAE Work 排查 Smartbi 报表数据不一致:从 3 小时缩短到 20 分钟
ai编程·trae
西安小哥8 小时前
用 TRAE 5 分钟生成一份客户能看的功能清单 Excel——l_prd_skills 实战复盘
产品经理·ai编程·产品