教程

Claude Code .claude 目录完整指南:每个文件和目录的作用与最佳实践

Claude Code .claude 目录完整指南:完整目录结构(CLAUDE.md/settings.json/rules/skills/agents/worktrees);settings.json vs settings.local.json 的分工和常用配置示例(allow/deny/hooks/env);全局 vs 项目级优先级;.claude/rules/ 目录的组织方式;.claude/skills/ 结构;.claude/agents/ 自定义 Subagent 定义(security-reviewer 和 test-writer 完整示例);.worktreeinclude 配置;.gitignore 配置建议;以及提交到 Git 的文件清单。

2026/5/137分钟 阅读ClaudeEagle

.claude/ 目录是 Claude Code 的配置中心,但大多数人只知道其中的一两个文件。本文是官方文档的完整整理:.claude/ 里每个文件和目录的作用、加载时机、优先级,以及适合放什么内容的实践建议。


.claude/ 目录的完整结构

your-project/ ├── .claude/ │ ├── CLAUDE.md # 项目级指令(同 ./CLAUDE.md) │ ├── CLAUDE.local.md # 个人本地配置(加入 .gitignore) │ ├── settings.json # 项目权限配置(提交到 Git) │ ├── settings.local.json # 个人权限配置(加入 .gitignore) │ ├── rules/ │ │ ├── code-style.md # 全局代码规范 │ │ ├── testing.md # 测试规范 │ │ └── api/ │ │ └── security.md # API 安全规则(路径限定) │ ├── skills/ │ │ ├── commit/ │ │ │ └── SKILL.md # 自定义 commit skill │ │ └── deploy/ │ │ └── SKILL.md # 部署 skill │ ├── agents/ │ │ ├── security-reviewer.md # 自定义 subagent │ │ └── test-writer.md # 测试专家 subagent │ ├── worktrees/ # Worktree 目录(加入 .gitignore) │ │ ├── feature-auth/ │ │ └── bugfix-123/ │ └── docs/ # 可选:供 @import 引用的详细文档 │ ├── architecture.md │ └── api-design.md ├── CLAUDE.md # 项目根 CLAUDE.md(与 .claude/CLAUDE.md 二选一) ├── CLAUDE.local.md # 根目录个人配置 └── .worktreeinclude # Worktree 文件复制配置

settings.json / settings.local.json

作用

控制 Claude Code 在这个项目里的行为和权限:允许/拒绝哪些操作,环境变量,Hooks 配置等。

两个文件的区别

.claude/settings.json.claude/settings.local.json
提交到 Git❌(加入 .gitignore)
作用范围整个团队只有你
适合内容团队共同的权限策略个人环境的权限调整

常用配置

json
// .claude/settings.json(提交到 Git,团队共享)
{
  "permissions": {
    "allow": [
      "Bash(npm test)",
      "Bash(npm run lint)",
      "Bash(npm run build)",
      "Bash(git log *)",
      "Bash(git diff *)",
      "Bash(git status)",
      "Bash(gh pr view *)",
      "Bash(gh issue view *)"
    ],
    "deny": [
      "Bash(git push --force)",
      "Bash(rm -rf *)",
      "Bash(DROP TABLE *)"
    ]
  },
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "npm run lint --fix 2>/dev/null; echo 'lint done'"
          }
        ]
      }
    ]
  }
}
json
// .claude/settings.local.json(不提交,个人使用)
{
  "permissions": {
    "allow": [
      "Bash(npm run dev)",
      "Bash(ngrok *)"
    ]
  },
  "env": {
    "DATABASE_URL": "postgresql://localhost:5432/myapp_dev"
  }
}

全局用户设置

除了项目级别,还有全局设置:

~/.claude/settings.json # 全局(所有项目) ~/.claude/settings.local.json # 全局个人(优先级高于全局)

优先级(从高到低):.claude/settings.local.json > .claude/settings.json > ~/.claude/settings.local.json > ~/.claude/settings.json


.claude/rules/

路径限定规则,详见 CLAUDE.md 指南。关键要点:

目录递归.claude/rules/ 里所有 .md 文件都被发现,包括子目录。适合按功能分组:

.claude/rules/ ├── global/ │ ├── code-style.md # 全局代码风格(无 paths,所有文件生效) │ └── git-workflow.md # Git 工作流规范 ├── frontend/ │ ├── react.md # paths: src/components/**/*.tsx │ └── css.md # paths: **/*.css, **/*.scss └── backend/ ├── api.md # paths: src/api/** └── database.md # paths: **/*repository*.ts, **/*model*.ts

rules/ vs 主 CLAUDE.md

  • 全局规则(每次都需要)→ 主 CLAUDE.md 或无 paths 的 rules/
  • 特定场景规则(只在相关文件上)→ 有 paths 字段的 rules/
  • 步骤化流程 → Skills

.claude/skills/

Skills 是可复用的工作流模板。.claude/skills/ 是项目级 Skills 目录(个人级是 ~/.claude/skills/)。

.claude/skills/ ├── commit/ │ └── SKILL.md # /commit skill ├── deploy/ │ ├── SKILL.md # /deploy skill │ └── scripts/ │ └── verify.sh # skill 可以调用的脚本 └── security-check/ ├── SKILL.md └── checklist.md # skill 引用的检查清单

每个 Skill 是一个目录,SKILL.md 是入口:

markdown
---
name: deploy-staging
description: 部署到 staging 环境
disable-model-invocation: true    # 只允许用户手动触发
allowed-tools: Bash(npm *) Bash(git *) Bash(gh *)
---

## 部署步骤

1. 运行测试:`npm test`(失败则停止)
2. 构建:`npm run build`
3. 推送到 staging 分支:`git push origin HEAD:staging`
4. 等待 CI 完成(查看:`gh run watch`)
5. 验证健康检查:`curl https://staging.myapp.com/health`

.claude/agents/

自定义 Subagent 定义文件。让你创建专门的 AI 助手:

markdown
---
# .claude/agents/security-reviewer.md
name: security-reviewer
description: 专注安全漏洞的代码审查专家。在处理 src/api/ 或涉及用户数据时自动委托
tools:
  - Read
  - Glob
  - Grep
  - Bash(git diff *)
model: claude-opus-4-5
effort: high
---

你是一个专注于安全漏洞检测的代码审查专家。

对于每段代码,你需要检查:
1. SQL 注入(特别是字符串拼接的查询)
2. XSS(用户输入输出到 HTML)
3. CSRF(缺失的 CSRF 保护)
4. 认证/授权问题(缺失检查、越权访问)
5. 敏感数据暴露(日志/响应里的密码、密钥)

输出格式:
- 🔴 Critical(必须修复)
- 🟡 Warning(建议修复)
- 🔵 Info(参考)

每个发现包含:位置(文件:行号)、问题描述、修复建议。
markdown
---
# .claude/agents/test-writer.md
name: test-writer
description: 专门编写高质量测试代码的 Agent
tools:
  - Read
  - Write
  - Edit
  - Glob
  - Grep
  - Bash(npm test *)
---

你是一个专注于编写高覆盖率、高质量测试代码的专家。

测试原则:
- 每个测试只验证一个行为
- 测试名描述"应该…"(Given/When/Then)
- 优先集成测试,单元测试覆盖复杂逻辑
- Mock 只用于外部依赖(网络、数据库),不 mock 内部模块
- 边界情况比 Happy Path 更重要

为每个函数生成:
1. 正常路径测试(2-3 个)
2. 边界情况(empty/null/极值)
3. 错误路径(异常、无效输入)

.worktreeinclude

控制哪些被 .gitignore 忽略的文件在创建 Worktree 时自动复制:

# .worktreeinclude # 语法同 .gitignore # 只复制"被 gitignore 忽略"且"匹配这里的模式"的文件 .env # 基础环境变量 .env.local # 本地覆盖 .env.development # 开发环境 .env.test # 测试环境变量 config/local.json # 本地配置 .claude/settings.local.json # 个人权限配置(可选,如果你想在 Worktree 里也有)

.claude/ 目录的 .gitignore 配置

# .gitignore # Worktrees 目录(自动生成,不提交) .claude/worktrees/ # 个人配置(不提交) CLAUDE.local.md .claude/CLAUDE.local.md .claude/settings.local.json

目录初始化命令

bash
# 使用 /init 生成基础 CLAUDE.md(会分析代码库)
claude
> /init

# 创建目录结构
mkdir -p .claude/{rules,skills,agents}

# 查看 .claude 目录里有什么
ls -la .claude/

提交到 Git 的文件清单

文件/目录提交到 Git说明
.claude/CLAUDE.md团队共享的项目指令
.claude/settings.json团队共享的权限配置
.claude/rules/团队共享的规则
.claude/skills/团队共享的 Skills
.claude/agents/团队共享的 Subagent 定义
.worktreeincludeWorktree 文件复制配置
CLAUDE.local.md个人本地配置
.claude/CLAUDE.local.md个人本地配置
.claude/settings.local.json个人权限配置
.claude/worktrees/自动生成的 Worktree 目录

来源:Claude Code 官方文档 - The .claude directory | Memory | Skills | 整理:ClaudeEagle

相关文章推荐

教程Claude Code .claudeignore 配置指南:精准控制 AI 上下文节省 Token 的必备技巧.claudeignore 完整配置指南:为什么需要、与 .gitignore 的区别、通用基础模板、各技术栈专属配置(Next.js/Python/Go/Java/Rust)、什么文件不能排除的反直觉建议,以及与 Subagents 组合使用的高阶策略。2026/4/19教程Claude Code 配置完全指南:settings.json 四级作用域与权限管理Claude Code settings.json 四级作用域完整指南:Managed/User/Project/Local 配置范围与优先级规则、权限配置语法(allow/deny/Bash/Read/Write)、三大实际场景配置(个人开发/团队项目/企业安全)、敏感文件保护、环境变量注入与子代理参数配置。2026/3/14教程Claude Code settings.json 完整配置参考:40+ 配置项、作用域继承与插件管理Claude Code settings.json 完整配置参考:四级作用域(Managed 最高不可覆盖/User/Project/Local)及其优先级继承规则、不同功能的配置文件位置(Settings/Subagents/MCP/Plugins/CLAUDE.md)、40+ 配置项速查(基础/认证/界面/工作流/权限/安全企业/MCP/插件),包括 companyAnnouncements 公告、apiKeyHelper 动态 Key、fastModePerSessionOptIn 会话级快速模式、strictKnownMarketplaces 市场限制,以及 /config 命令和验证方法。2026/3/7教程写好 CLAUDE.md 的 10 个最佳实践:让 Claude 更准确地遵循你的规则CLAUDE.md 10 个最佳实践:只写 Claude 不能自己推断的内容(新同事测试法);写具体可验证的规则;把常用命令写进去;控制文件长度 200 行以内(遵从度 vs 规则数量的经验估算);用路径限定规则(.claude/rules/ 示例);分清 CLAUDE.md/Hooks/Skills 职责;用 CLAUDE.local.md 放个人专属配置;在重要规则前加触发条件;用 @import 拆分大文档;定期维护删除过时规则(含快速检查清单 8 项)。2026/5/13教程Claude Code CLAUDE.md 深度指南:5 种存储位置、Token 预算、Auto Memory 和 .claude/rules/Claude Code CLAUDE.md 系统完整整理:CLAUDE.md vs Auto Memory 两套机制对比;5 种存储位置层级(Managed Policy/User Global/Project/Local/Subdirectory);加载顺序详解;@import 语法;.claude/rules/ 路径限定规则;Token 预算与遵从度(150-200 条上限);Auto Memory 存储路径;CLAUDE.md vs Hooks 分工;Compaction 保留行为;Monorepo 配置;以及 vs AGENTS.md vs .cursorrules 对比表。2026/5/13教程Claude Code Git Worktrees 官方完整指南:并行会话隔离,文件不冲突Claude Code Worktrees 官方文档完整中文整理:Worktree 是什么(独立目录+独立分支+共享历史);--worktree/-w 标志基本用法;基础分支选择(fresh vs head,PR 号创建);.worktreeinclude 自动复制被 gitignore 的文件;Subagent 隔离(isolation: worktree 字段);清理行为(三种状态);手动管理 Git 命令;SVN/Perforce 的 WorktreeCreate Hook 示例。2026/5/13