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,32 @@
---
created: "2026-06-27 06:25"
type: zettel
tags: [zettel, claude-code, workflow, plan-mode, best-practices]
source: "Anthropic best-practices 官方文档 (2026)"
---
# Explore-Plan-Implement-Commit 四阶段工作流
用 Claude Code 干活的官方推荐节奏是**先看、再想、后写、最后交**,而不是一上来就让它改代码。把"改动"推迟到上下文充分、计划成形之后,是质量的最大杠杆。
四阶段:
1. **探索 Explore** —— 进 plan mode(只读),让它读代码 / 需求、建立上下文,**不碰任何文件**。
2. **规划 Plan** —— 产出详细计划;计划可 `Ctrl+G` 在编辑器里直接改,再确认。
3. **实现 Implement** —— 退出 plan mode,**对照计划写代码 + 测试**。
4. **提交 Commit** —— 写描述性 commit,开 PR。
为什么有效:plan mode 的只读约束把"理解"和"修改"在物理上分开,避免模型在尚未看懂全局时就贸然动手;计划成为一份可人工审校、可当 prompt 传递的中间产物。这与"把计划当 prompt"和"阶段间隔离上下文"是同一思想的不同侧面。
---
## Related
- [[20260320100300 Plans as Prompts设计模式]] —— 计划作为可传递的 prompt
- [[20260320100100 上下文腐烂与全新窗口隔离]] —— 为什么阶段间要隔离
- [[20260627062504 自给自足验证循环配合 TDD]] —— Implement 阶段的自我纠正闭环
- [[Claude Code 新项目开发最佳实践 (2026 调研)]]
## Source
- https://code.claude.com/docs/en/best-practices

View File

@@ -0,0 +1,33 @@
---
created: "2026-06-27 06:25"
type: zettel
tags: [zettel, claude-code, tdd, verification, agentic-loop, best-practices]
source: "Anthropic 团队用例 PDF + best-practices (2026)"
---
# 自给自足验证循环配合 TDD
给 Claude 一个**它自己能跑、能读结果、能据此纠正**的验证手段(build / test / lint),它就能闭环自我迭代而不必每步等人。这个"自给自足循环"(self-sufficient loop)是 agentic 编码可靠性的核心。
关键在于**验证信号的客观性**:测试通过 / 失败是二值、确定、模型无法自我安慰的反馈。因此**先写测试再写实现(TDD)时效果尤其好** —— 测试先确立了一个明确的 GREEN 目标,模型的每次改动都有可证伪的对照,而不是"我觉得写完了"。
落地要点:
-`CLAUDE.md` 写清"如何运行测试 / lint / build"(否则模型会反复猜错命令)。
-**Hooks**(`PostToolUse(Edit|Write)`)把验证变成**确定性自动触发**,不依赖模型自觉去跑。
- 对照 RED→GREEN→REFACTOR:先让测试失败,再让模型实现到通过。
本质:把"目标回溯验证"内建进循环,胜过让模型做"正向任务检查"自评。
---
## Related
- [[20260320100200 目标回溯验证vs正向任务检查]] —— 为什么客观验证优于自评
- [[20260319120100 Hook驱动优于提示词驱动]] —— 用 hook 强制验证发生
- [[20260627062503 Explore-Plan-Implement-Commit 四阶段工作流]] —— Implement 阶段嵌入此循环
- [[Claude Code 新项目开发最佳实践 (2026 调研)]]
## Source
- https://www-cdn.anthropic.com/58284b19e702b49db9302d5b6f135ad8871e7658.pdf
- https://code.claude.com/docs/en/best-practices

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