vault: add Claude Code 新项目开发最佳实践 (2026 调研) + 3 zettels + MOC links

This commit is contained in:
Yaojia Wang
2026-06-27 06:29:31 +02:00
parent 99acb0c288
commit 791c1066f3
5 changed files with 290 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
---
created: "2026-06-27 06:25"
type: zettel
tags: [zettel, claude-code, memory, claude-md, context]
source: "Anthropic memory 官方文档 (2026)"
---
# CLAUDE.md 是目录树拼接加载而非覆盖
多个 `CLAUDE.md` 不是"最近的那个赢",而是**沿目录树向上发现、全部拼接(append)**。理解这点才能正确分层放置规则。
机制:
- **向上遍历目录树发现**所有 `CLAUDE.md`
- **祖先目录的文件启动时全量加载**;**子目录的嵌套文件在读取该目录时才按需加载**。
- 所有命中的文件**拼接而非覆盖** —— 个人(`~/.claude/CLAUDE.md`)、项目(`./CLAUDE.md`)、本地(`./CLAUDE.local.md`)叠加生效。
- monorepo 父目录会自动拉取;支持 `@path/import` 引入其它文件。
推论(分层放置策略):
- **跨项目偏好** → `~/.claude/`(用户级)。
- **团队共享的项目规范** → `./CLAUDE.md`(入 git)。
- **个人临时覆盖** → `./CLAUDE.local.md`(入 `.gitignore`)。
- **某子模块专属规则** → 放该子目录的 `CLAUDE.md`,只在进入时按需加载,**省主上下文**。
- 单文件 **< 200 **;过大拆到 `.claude/rules/` path-scoped rules( `paths` frontmatter)。
因为是"拼接 + 全量加载祖先",所以越靠上越大的文件,对每次会话的 token 成本越高 —— 这正是"保持简洁按目录就近放置"的底层原因
---
## Related
- [[20260308223000 Claude Code Memory 日常最佳实践]] —— 5 memory 全景与 Auto memory
- [[20260319120200 MCP数量与上下文窗口的反比关系]] —— 同样是上下文预算权衡
- [[Claude Code 新项目开发最佳实践 (2026 调研)]]
## Source
- https://code.claude.com/docs/en/memory
- https://code.claude.com/docs/en/best-practices