首页 教程 常见问题

2.2 多文件协作

团队配置共享机制

Claude Code 的多文件协作核心是通过 .claude/ 目录将项目规范和配置提交到 Git,实现团队成员间的共享。

CLAUDE.md 团队共享

在项目根目录放置 CLAUDE.md(或 .claude/CLAUDE.md),确保每个团队成员在启动 Claude Code 时都加载相同的项目规范:

# 项目规范

## 代码风格
- 使用 ESLint + Prettier
- 4 空格缩进,字符串用单引号

## Git 工作流
- commit 前必须运行 `npm test`
- commit 信息遵循 Conventional Commits 格式

## 目录结构
- 业务组件放在 `src/components/`
- 工具函数放在 `src/utils/`
- API 层放在 `src/api/`

settings.json 团队权限配置

{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm test)",
      "Bash(git commit *)",
      "Bash(git push)"
    ],
    "deny": [
      "Bash(curl *)",
      "Bash(wget *)",
      "Bash(rm -rf .git *)"
    ]
  }
}

路径级规则(.claude/rules/)

当项目包含多种技术栈时,可以按目录路径设置不同的规则,Claude 会根据当前工作路径自动激活对应的规则文件:

.claude/rules/
├── python.md       # 仅在 Python 代码目录激活
├── frontend.md     # 仅在 React/前端目录激活
├── backend.md      # 仅在 API/后端目录激活
└── docs.md         # 仅在文档目录激活

规则文件示例(frontend.md)

# 前端规范

## 组件规范
- 使用函数组件,不使用 class 组件
- 所有组件使用 TypeScript,定义 props 接口

## 状态管理
- 优先使用 React Hooks
- 全局状态使用 Zustand,不使用 Redux

## 样式
- 使用 Tailwind CSS
- 禁止使用内联 style 属性(除动态值外)

子代理(Subagents)

子代理允许你在独立上下文中并行执行调查任务,适合处理大型代码库中的多个方向:

.claude/agents/
├── security-audit.md     # 安全审计子代理
├── test-writer.md        # 测试编写子代理
└── docs-generator.md     # 文档生成子代理

在主会话中通过 /security-audit 即可调用安全审计子代理,它会在隔离的上下文中执行,不污染主对话。

MCP 服务器

MCP(Model Context Protocol)让 Claude Code 连接外部工具和数据源,实现跨工具工作流:

MCP 服务器功能
GitHub MCP创建 PR、审查代码、管理 Issues
Linear MCP管理任务、更新 Sprint
Notion MCP读写 Notion 页面和数据库
Filesystem MCP增强的本地文件操作

通过 .claude/.mcp.json 配置文件(可提交到 Git)实现团队共享:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}

使用 claude mcp list 查看已配置的 MCP 服务器。

多文件重构工作流

对跨多个文件的重构,建议使用以下流程:

  1. 进入计划模式(Ctrl+G),Claude 不会直接修改文件
  2. 描述任务:"重构 src/auth/ 模块,将 JWT 替换为 OAuth2"
  3. Claude 探索所有相关文件,制定修改方案
  4. 审核方案,确认后让 Claude 执行
  5. 运行测试验证

分叉会话(Fork Session)

使用 --fork-session--continue 可以分叉出探索性会话,不打断主线工作:

claude --fork-session "探索 GraphQL 迁移方案"
# 在新会话中探索,不影响原会话的工作进度

技能定义(Skills)

技能是可复用的工作流模板,放在 .claude/skills/<name>/SKILL.md 中,通过 /<name> 调用:

.claude/skills/
└── code-review/
    └── SKILL.md

SKILL.md 示例内容:

# 代码审查技能

## 流程
1. 运行 `npm run lint` 检查代码风格
2. 运行 `npm test` 确保测试通过
3. 检查是否有安全漏洞(硬编码密码、SQL 注入风险)
4. 检查测试覆盖率是否下降

## 输出格式
- 列出发现的问题
- 按严重程度分级(高/中/低)
- 提供修复建议