翻了CC源码终于搞明白CLAUDE.md到底怎么加载的

之前一直搞不清项目根目录和HOME下的CLAUDE.md哪个优先级高,翻源码发现加载顺序是HOME全局 → 项目根目录 → 子目录,后加载的覆盖前面的同名配置。

还发现了几个没写进文档的隐藏字段,比如tool_preferences可以设默认工具偏好。

隐藏字段居然有tool_preferences这个好用

覆盖规则跟gitconfig差不多近的优先

子目录也能放CLAUDE.md?第一次知道

官方文档永远追不上源码的信息密度

这种隐藏功能哪天改了都不通知你的

我一直以为只认项目根目录原来还有层级

源码在哪个文件里能给个路径吗

版本更新可能改掉加载逻辑别太依赖

白嫖站随时可能跑路别存重要数据

源码里defaultConfig对象把所有字段都列了

rules字段写具体比写笼统的效果好得多