点击蓝字
关注我们
第2章 温故知新:记忆系统工程实践
2.4 条件化规则系统
随着项目的演进,单一 CLAUDE.md 终将面临容量瓶颈。
当项目涵盖前端组件规范、后端 API 设计、数据库迁移流程、测试策略(覆盖率 /mock)以及基础设施(Docker 和 CI/CD)等全部规则时,如果将所有内容堆砌在一个文件中,将引发两大核心问题。
●维护噩梦:文件变得极度冗长,查找和更新特定规则变得困难。
●注意力分散:例如,当 Claude 编写一个简单的前端组件时,其上下文被迫加载了数据库迁移规范和 CI 配置要求等无关信息,这些噪声会稀释模型的注意力,导致其在处理当前任务时效率下降,甚至产生幻觉或忽略关键的前端约束。
这正是 .claude/rules/ 目录的核心价值所在。它将记忆系统从“一本大而全的厚重手册”进化为“一个按需取用的模块化知识库”。
该机制具备两大核心优势。
●领域拆分:允许将庞大的规则集拆解为多个主题文件,每个文件专注于特定领域,极大地提高了可维护性。
●智能激活:通过在文件头部添加 YAML Frontmatter,利用 paths 字段声明 Glob 模式;只有当 Claude Code 操作的文件路径匹配该模式时,对应的规则才会被激活并注入上下文;在不匹配的场景下,这些规则文件安静地存储在磁盘上,不消耗任何 token 或上下文空间。
来看一个示例。若需要规范测试文件的编写,可创建如下规则文件。
<!-- .claude/rules/testing.md -->---paths:- "**/*.test.ts"- "**/*.spec.ts""tests/**"---# 测试规范- 采用 vitest 作为测试框架,禁用 jest- 每个测试文件必须包含 describe 代码块,且其名称需要与被测模块保持一致- 模块模拟统一使用 vi.mock(),禁止手动 Mock- 异步测试一律采用 async/await 语法,禁止使用 done 回调- 测试数据需要通过 factory 函数生成,严禁在测试中硬编码
在此配置下,当 Claude 编辑 src/services/order-service.ts 时,该测试规范不会被加载;而一旦转向编写 tests/order-service.test.ts,这些规则即刻自动生效。
这种“按需加载”的设计思路,与编程语言中的懒加载(Lazy Loading)理念一脉相承:不需要在启动时预载所有潜在资源,仅需要在真正需要时动态调用。
同样的思路可推广到其他开发领域。例如,数据库规范仅在操作Prisma 文件或数据访问层时加载,而 API 设计规范则仅在编辑路由或Schema 文件时生效。
<!-- .claude/rules/database.md -->---paths:- "prisma/**"- "src/repositories/**"---# 数据库规范- 迁移文件一旦提交至 main 分支,严禁修改,仅运行创建新迁移- 所有查询必须经由 repository 层,service 层禁止直接调用 Prisma 客户端- 批量操作必须包裹在事务中,单次写入超过 100 条记录时强制分批处理<!-- .claude/rules/api-design.md -->---paths:"src/routes/**""src/schemas/**"---# API 设计规范- 每个路由必须配置对应的 Zod schema 以进行入参验证- 列表接口统一支持分页参数:page(从 1 开始计数)和 limit(默认 20,最大值 100)- 错误响应结构必须包含机器可读的 code 字段与人类可读的 message 字段
小雪听罢,精辟地总结道:“这好比为企业不同岗位的员工量身定制了专属操作手册——前台遵循前台流程,仓库恪守仓库规范,不需要人人背诵全公司的制度。唯有当你步入仓库作业时,才需要翻开那本《仓库管理手册》。”
咖哥点头补充:“这种模块化的规则组织方式另有一大实效:在多人协作场景下,各领域专家可独立维护其专属规则文件,从而大幅降低 Git 合并冲突的概率。前端工程师专责 frontend.md,后端工程师维护api-design.md ,DBA 把控 database.md——各司其职,互不干扰。随着团队规模的扩张,这种‘分而治之’策略的价值将愈发凸显。”
若规则文件未配置 paths 前置元数据,系统将视其为全局无条件规则,在每次会话中强制加载 —— 其效果等同于直接写入 CLAUDE . md 主文件。
因此,务必为每个规则文件设定精准的 paths 限定, 方能真正发挥记忆系统“按需加载”的核心优势。
2.5 实战:3 种典型项目配置
理论阐述至此,让我们通过 3 种典型项目的 CLAUDE.md 实战写法来融会贯通。请留意它们在侧重点上的显著差异。
●前端项目:围绕组件规范与状态管理策略展开。
●后端项目:聚焦分层架构设计与 API 约定。
●数据项目:强调数据处理流程严谨性与实验复现规范。
这些差异绝非偶然,它们精准反映了不同技术领域中“最高频出错点”的分布。优秀的 CLAUDE.md 应当像精确制导武器,将火力集中覆盖在那些最容易引发问题的关键地带。
本书作者:黄佳
点击阅读原文,查看独家连载
如果有小伙伴
想要分享技术、出版图书
欢迎进入公众号后台
发送“出书”联系我们~

