Appearance
项目设置
模块编号: 3 · 难度: 入门 · 预计时间: 45 分钟
当你接手新项目,或者想把旧代码库规范化,第一步就是给 Claude Code 铺好路。这里的核心理念是降低重复劳动,把你的脑力省下来做更有价值的事。
初始化项目记忆
当你第一次进入一个项目时,输入 /init 让 Claude 帮你做个全身扫描。它会分析你的代码结构,然后自动生成一个 CLAUDE.md 文件。这个文件相当于你项目的使用说明书。
生成的 CLAUDE.md 记得提交到 git 仓库里。不过别让它变成一个无底洞。一份高质量的 CLAUDE.md 最好控制在 200 行以内。里面只放那种几乎每次会话都用得上的全局规范。如果你有些特殊功能相关的要求,把它们单独放进对应的规则文件里。
真正有价值的信息通常是这几样:
- 技术栈和具体版本号
- 常用开发命令,比如构建、测试、代码检查
- 全局命名规范
- 项目里那些让人容易踩坑的设计
来看一个 Payment Service 项目的模板示例:
markdown
# 支付服务 (Payment Service) 项目说明
技术栈: Node.js 20, TypeScript 5, PostgreSQL 15, Express, Prisma, Jest
开发指南:
* 安装依赖: npm ci (避免使用 npm install)
* 运行测试: npm run test
* 编译项目: npm run build
* 代码检查: npm run lint
代码规范:
* 文件名使用 kebab-case,例如 payment-handler.ts
* API 响应必须包含标准的 success, data, error 字段
* 数据库迁移只允许向后兼容,不要直接删列
已知注意点:
* 本地开发时,stripe webhook 代理通过 localhost:4242 转发
* 处理订单金额统一使用分 (cents),不要存浮点数配置权限
用久了你就会发现,每次执行 Git 或是测试命令都要跳出来让你按确认键,这实在有点折腾。输入 /permissions 可以打开权限管理,你可以把那些高频又安全的命令加进白名单。
推荐把这几个操作预先批准:
Bash(git *)Bash(npm *)Bash(npx jest *)
Claude 会把权限配置存在两个地方:
.claude/settings.json: 这是跟着项目走的,建议提交到 git 里和团队共享。.claude/settings.local.json: 这是你私人的配置,只留在本地,记得把它加到.gitignore里。
一个团队配置文件的例子:
json
{
"permissions": {
"allow": [
{
"tool": "Bash",
"command": "git *"
},
{
"tool": "Bash",
"command": "npm run *"
}
],
"deny": [
{
"tool": "Bash",
"command": "git push --force"
}
]
}
}设置和环境
项目配置其实有个加载顺序,优先级从高到低排列:
- 管理策略
- 命令行参数 (比如加的参数选项)
- 本地配置
.claude/settings.local.json - 项目配置
.claude/settings.json - 全局配置
~/.claude/settings.json
除了权限,你还可以在配置里加很多有用的参数。比如 env 帮你预设好环境变量,agent 设定默认跑哪个智能体,claudeMdExcludes 帮你过滤掉那些不需要扫描的大体积目录。还可以指定默认使用的模型和投入程度(effort)。
带上环境变量和模型设置的例子:
json
{
"model": "claude-3-7-sonnet-20250219",
"effort": 1.0,
"env": {
"NODE_ENV": "development",
"DEBUG": "app:*"
},
"claudeMdExcludes": [
"node_modules",
"dist",
"coverage",
".git"
]
}版本控制指南
配置完一堆东西,到底哪些该提交,哪些该自己留着?照这个清单来。
提交的文件:
.claude/settings.json: 团队通用的权限和配置。CLAUDE.md: 项目的全局说明书。.claude/rules/: 特定的开发规则。.claude/skills/: 扩展的能力脚本。.claude/agents/: 自定义智能体配置。
不提交的文件:
.claude/settings.local.json: 你个人的偏好和私有令牌。- 自动生成的本地记忆缓存。
模板区
这里准备了两个现成的内容,你可以直接拿去用在新项目里。
项目 settings.json 起步配置
这是一个开箱即用的配置文件,包含了安全白名单,还加了一个每次用完工具自动帮你格式化代码的钩子。
json
{
"permissions": {
"allow": [
{ "tool": "Bash", "command": "git status" },
{ "tool": "Bash", "command": "git diff *" },
{ "tool": "Bash", "command": "git add *" },
{ "tool": "Bash", "command": "npm install" },
{ "tool": "Bash", "command": "npm run test" }
],
"deny": [
{ "tool": "Bash", "command": "git push -f" },
{ "tool": "Bash", "command": "rm -rf *" }
]
},
"hooks": {
"PostToolUse": "npm run lint -- --fix"
}
}新项目上手清单
当你执行完 /init 并准备修改 CLAUDE.md 时,可以按这个清单逐一确认:
- 包管理器: 统一用 npm、yarn 还是 pnpm?
- 运行命令: 怎么把项目跑起来?
- 测试指令: 跑全量测试和单元测试用什么命令?
- 分支命名: feature, bugfix 分支有没有固定前缀要求?
- 环境变量: 开发环境的配置文件该去哪里找?
用配置生成器试试
下面这个工具可以帮你快速生成项目配置文件。填好表单,右边会实时生成内容,可以直接复制或下载:
CLAUDE.md
# 项目名称测验
测验时间
第 1/3 题
运行 /init 后生成的 CLAUDE.md 建议控制在多少行以内?