每天早晨都要重新说明的管家
上一回,我们探讨了委托与确认之间的平衡之道。今日,我希望为主人介绍一种更为舒适的使用方式——通过 CLAUDE.md 向管家塞巴斯传授府上家规。
请允许我为主人描绘一幅画面。
试想每天早晨,都要向新到任的管家说明:“在本府,所有回复必须使用中文”、“未经主人确认,不得擅自提交代码”、“府上使用 bun,而非 npm”……
这岂非极为繁琐之事?
何为 CLAUDE.md?
CLAUDE.md 是一个放置于项目根目录的 Markdown 文件。Claude Code 每次开启新会话时,都会自动读取此文件。
换言之,只需书写一次,管家便会在每次工作时自然遵从这些指示,无需一再提醒。
这就好比将家规写成卷轴,永久存放于管家的值班室中。
CLAUDE.md 可在三个层级使用
事实上,CLAUDE.md 并非每个项目只能有一个。根据放置位置的不同,其适用范围也会有所差异。
| 位置 | 路径 | 适用范围 |
|---|---|---|
| 全局 | ~/.claude/CLAUDE.md | 所有项目通用 |
| 项目 | {项目根目录}/CLAUDE.md | 仅限该项目 |
| 子目录 | {任意目录}/CLAUDE.md | 该目录及其下级目录 |
会话开始时,以上所有文件都会被读取并合并。
推荐的使用方式如下——“始终用中文回答”、“未经确认不得提交代码"等普遍性要求,写入全局配置;“此项目使用 bun”、“部署到 Firebase"等项目特有规则,写入项目根目录下的文件。如此一来,无论在哪个项目中,基本规范都能得到保障,而每个项目的具体指示也能得到落实。
家规示例:CLAUDE.md 的内容
每个府邸都有自己的规矩。以下示例或可供主人参考:
# 项目家规
## 语言与沟通
- 所有回复必须使用中文
- 技术术语可保留英文原文,但说明须以中文书写
## 代码与开发规范
- 使用 bun 作为包管理器(禁止使用 npm)
- 提交代码前必须获得主人确认
- 未编写测试前不得修改代码
## 禁止事项
- 不得擅自部署至生产环境
- 删除任何文件前必须确认
- 未经许可不得向 package.json 添加依赖项
## 代码风格
- 代码注释使用中文
- 函数名与变量名采用英文驼峰命名法
一旦写就,每当塞巴斯打开主人的项目,这些家规便已铭记于心,作业前已然准备就绪。
为何如此强大
Claude Code 是一位极为出色的管家。然而,过去会话的记忆并不会延续至新的会话。
即便昨日已告知"请使用 bun”,明日的会话中他亦无从记起。每次重复相同的说明,对主人与管家而言皆是徒劳。
CLAUDE.md 从根本上解决了这一问题。
对使用 Claush 移动端的主人尤为重要
对于通过 Claush 应用在智能手机上使用管家的主人来说,CLAUDE.md 尤为得力。
在小小的屏幕上,每次会话都要重复输入相同的前置说明,着实费事。有了 CLAUDE.md,主人只需传达当下要办的事项即可。
“塞巴斯,请修复登录页面的错误。”
仅此而已。管家自会使用 bun,以中文作答,提交前征求确认,编写测试,有条不紊地推进工作。
如何设置
设置方法极为简便。
- 在项目根目录创建名为
CLAUDE.md的文件 - 将府上家规写入其中
- 大功告成
my-project/
├── CLAUDE.md ← 家规存放于此
├── src/
├── package.json
└── ...
自下一次会话起,Claude Code 便会自动读取此文件,依照家规行事。
家规是需要不断完善的
无需从一开始就写出完美的家规。
在与管家共同作业的过程中,每当发现自己反复说着相同的话,便将其逐一添加至 CLAUDE.md——这才是真正意义上"培养"管家的方式。
主人与管家之间的默契,正是如此一点一滴积累而成。
管家的总结
- CLAUDE.md 是置于项目根目录的"家规"文件
- 管家无需提醒,自动遵从其中的指示
- 对移动端用户尤为有效——只需说明要办之事
- 无需追求完美,从简单开始,逐步完善
主人,请将家规传授于管家。如此一来,无需开口,管家便已能体察主人的期望。
下一回,我们将探讨"历史记录与上下文的管理方式”。
请前往 Claush 官方网站,将管家请至您的 iPhone。