🧡 第十三章 实战项目2:内容创作自动化
📄 一句话概括

规则文件分三层:根目录放全局约定、子目录放局部规矩、用户级放个人习惯;动到哪个目录才加载哪一份,根文件才能一直保持短。

📝 本节和前面几节的关系

第四部分的第二个项目开场。前一个项目只有几个文件,这个项目的目录多,先得把规矩摆好。

一、为什么内容项目需要路由

这个项目天生就是多目录的:大纲、初稿、素材、发布脚本。 每个目录的活不一样,要它守的规矩也不一样。 如果全塞进一个文件,它每读一条都要付一次钱,而且越写越长。

二、三层规则文件

根目录 CLAUDE.md:每次会话都加载——放全局约定与禁忌。 子目录 CLAUDE.md:动到该目录文件时才加载——放该模块的局部规矩。 用户级 ~/.claude/:所有项目都生效——放你自己的习惯。 三层的分工,本质是用得越频繁的越往上放,越专用的越往下放。

三、路由带来的两个好处

一、根文件能一直保持短——每次会话都付的那笔钱就少(第 5.2 节)。 二、换模块工作时不相干的规矩自动让位——上下文里只剩当前用得上的。 这跟第 11.2 节搭工具链的顺序是同一个道理:先最小,再按需加层。

四、典型的三层划分

根目录写:口吻、禁忌、每篇必须有的东西。 写作子目录写:三段结构、标题规范、字数上下限。 发布子目录写:平台要求、图片尺寸、发布前必须核对的几项。 判定某条规矩放哪一层,只问一句:它在哪个范围内成立。

五、动手 Demo:CLAUDE.md 路由系统

下面把三层规则文件、各自的加载时机、以及该放什么排开。

TH([u"三层规则文件", u"什么时候加载", u"放什么"], [22, 26, 26])
T([u"根目录 CLAUDE.md", u"每次会话都加载", u"全局约定与禁忌"],
  [22, 26, 26])
T([u"子目录 CLAUDE.md", u"动到该目录文件时才加载",
  u"该模块的局部规矩"], [22, 26, 26])

实跑输出:

--------------------------------------------------------------------
CLAUDE.md 路由系统
--------------------------------------------------------------------

内容项目通常有好几个目录——大纲、初稿、素材、发布脚本。
**规则文件也跟着分三层**,各管一段:

  三层规则文件          什么时候加载               放什么
  ------------------------------------------------------------------
  根目录 CLAUDE.md      每次会话都加载             全局约定与禁忌
  子目录 CLAUDE.md      动到该目录文件时才加载     该模块的局部规矩
  用户级 ~/.claude/     所有项目都生效             你自己的习惯

**路由的关键在第二层**:根文件只放全局约定,
每个子目录再放一份自己的——**动到哪个目录,才加载哪一份**。

这样做的两个好处:

    ① 根文件能一直保持短,**每次会话都付的钱就少**
    ② 换到另一个模块工作时,**不相干的规矩自动让位**

反过来说,**把所有规矩都塞进根文件,就是一份越写越长的清单**——
写到你都不想读,它当然也不会真的遵守(第 5.2 节)。

路由的关键在第二层:动到哪个目录,才加载哪一份——根文件就能一直保持短。 把所有规矩塞进根文件,就是一份越写越长的清单;写到你都不想读,它也不会真的遵守。

30 秒实验

  1. 翻一翻你的规则文件,给每一条标一个【它属于哪一层】。
  2. 把标成【子目录】的挪出去,再看根文件短了多少行。

常见误区

  1. 把项目里所有规矩都写进根文件。它会越写越长,然后就没人读了。
  2. 给每个目录都建一份规则文件。只在该目录真有【不一样】的规矩时才建。
自测三问(点开对答案) 1. 规则文件分哪三层? —— 根目录放全局约定、子目录放局部规矩、用户级放个人习惯。 2. 子目录的规则文件什么时候加载? —— 动到该目录的文件时——所以不相干的规矩自动让位。 3. 判定一条规矩放哪一层,问什么? —— 它在哪个范围内成立。

相关笔记