配置与设置

通过配置文件自定义 Claude Code 的行为、权限、环境变量和钩子。

配置文件位置

.claude/settings.json
项目级

当前项目的配置,会提交到 git 中,团队共享

.claude/settings.local.json
项目级(本地)

仅当前机器的项目配置,不会提交到 git

~/.claude/settings.json
用户级

全局配置,适用于所有项目

常用配置项

// .claude/settings.json
{
  "permissions": {
    "allow": [
      "Bash(git status)",
      "Bash(npm run lint)",
      "Read(*)"
    ]
  },
  "env": {
    "DEBUG": "true"
  },
  "hooks": {
    "Edit": "npm run lint --fix"
  }
}

权限配置

通过 permissions.allow 白名单减少权限确认弹窗:

模式说明
Read(*)允许读取所有文件
Bash(git *)允许所有 git 命令
Bash(npm run *)允许所有 npm run 命令
Glob(**/*)允许所有文件搜索
Grep(*)允许所有代码搜索

CLAUDE.md

在项目根目录创建 CLAUDE.md,告诉 Claude 关于项目的关键信息。每次会话开始时会自动加载。

# CLAUDE.md

## 项目
这是一个 Next.js 15 电商网站,使用 Tailwind CSS 和 Prisma。

## 开发命令
- 启动:npm run dev
- 测试:npm test
- 构建:npm run build

## 约定
- 使用 TypeScript 严格模式
- 组件使用 server component,除非需要交互
- API 路由放在 src/app/api/

提示:使用 /init 命令可以自动生成 CLAUDE.md。

钩子(Hooks)

钩子是在特定事件发生时自动执行的 shell 命令:

Edit

每次编辑文件后执行

示例:npm run lint --fix
Bash

每次执行 Bash 命令前后

示例:echo 'Running command...'
Stop

Claude Code 退出时执行

示例:npm run cleanup

下一步:学习 最佳实践,提升使用效率。