
📌 本篇核心目标:从空白文件开始,手把手写出一份适用于内容型知识库项目的 CLAUDE.md。你会得到两份成品模板(最小可用版 + 进阶增强版),以及每个模块"为什么这样写"的详细拆解。
在动手之前,你需要知道 CLAUDE.md 有三种创建方式,各有适用场景。
打开你的项目目录,启动 Claude Code,输入 /init:
cd your-project
claude
/init
Claude 会扫描你的项目——看 package.json、tsconfig、目录结构、现有文档——然后自动生成一份 CLAUDE.md 初稿。
生成的内容通常包括:构建命令、测试命令、关键目录、它检测到的代码约定。
优点:快,有 baseline,对新接手的项目很友好。
问题:自动生成的内容往往偏冗余。它会把能检测到的东西都塞进去,不会帮你做"这条规则重不重要"的筛选。而且它几乎不可能自动识别内容型项目的特殊规则——比如 frontmatter 约束、slug 规则、分类体系的设计逻辑。
正确用法:把 /init 当草稿,不要当成品。生成后必须人工精修——删掉冗余、补充它遗漏的关键规则、调整结构。
如果你的项目已经有了 CLAUDE.md,也可以再跑一次 /init。Claude 会基于对项目的重新扫描,给出改进建议。
在项目根目录创建文件:
touch CLAUDE.md
然后用任何 Markdown 编辑器打开,从空白开始写。
适合:对项目很熟悉的人、想完全掌控内容的人、不想引入自动生成冗余的人。
这也是本篇主要教你的方式。
在 Claude Code 对话中,输入 # 加上一条规则:
# 新增内容必须使用统一的 frontmatter 模板
Claude 会把这条规则追加到 CLAUDE.md 文件中。
适合:工作过程中随手补充。当你发现"Claude 又犯了这个错"或者"这个约定我每次都要重复说"时,立刻用 # 记录下来。
最佳实践:不要试图用 # 从零构建一份完整的 CLAUDE.md——它会变成一堆无序的规则碎片。# 的价值在于"持续迭代",而不是"初始创建"。
组合使用:
第 1 步:手动创建骨架(或用 /init 生成草稿后精修)
第 2 步:实际协作 3-5 次,发现遗漏
第 3 步:用 # 快速补充新规则
第 4 步:每隔一段时间回来整理一次
最好的 CLAUDE.md 不是一次写完的,而是在真实使用中逐步长出来的。
但你需要一个好的骨架起步。接下来就教你搭这个骨架。
不管你的项目多大多小,一份 CLAUDE.md 最核心的骨架就是 7 个模块:
# Project Context ← 项目是什么 + 协作哲学
## About This Project ← 技术栈和架构
## Key Directories ← 关键目录
## Commands ← 常用命令
## Standards ← 关键规则
## Workflows ← 高频任务步骤
## Notes ← 防坑提醒
这 7 个模块不是我随意拍的,而是从"Claude 做事前必须知道什么"倒推出来的:
下面逐个拆解怎么写。
这是 CLAUDE.md 的第一段,Claude 进入项目后最先看到的内容。
用最短的篇幅告诉 Claude 两件事:
项目说明只写一句话。 不要写项目历史、团队背景、用户画像。一句话说清"这是什么类型的项目,核心目标是什么"就够了。
协作哲学写一到两条。 这是你给 Claude 设定的"做事态度"。
# Project Context
教师考试知识库系统。Markdown 驱动的内容型静态站点,面向备考用户提供考情、政策和备考指南。
处理任务时,优先理解现有内容结构和字段设计,再做增量式修改;避免随意重构。
# ❌ 太长,像在写项目介绍书
# Project Context
本项目是一个面向全国中小学教师的综合性知识库系统,旨在为正在备考教师资格证、
教师编制、特岗教师招聘的用户提供一站式信息服务。项目始于 2024 年 3 月,
由三人团队协作开发。目前已积累超过 500 篇原创内容,覆盖 12 个省份的
考试信息。项目采用 JAMStack 架构理念,追求高性能、低成本和优秀的 SEO 表现……
Claude 不需要知道你团队有几个人、项目什么时候开始、积累了多少篇文章。这些信息不会影响它做任何具体任务。