monorepo-context

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Monorepo Context Patterns

单体仓库上下文模式

Overview

概述

Claude Code 2.1.20 introduces
--add-dir
for multi-directory context, enabling monorepo-aware sessions where each service maintains its own CLAUDE.md instructions.
Claude Code 2.1.20 引入了
--add-dir
参数以支持多目录上下文,实现了感知单体仓库的会话,每个服务可维护自己的CLAUDE.md指令。

Monorepo Detection

单体仓库检测

Indicators that a project is a monorepo:
IndicatorTool
pnpm-workspace.yaml
pnpm
lerna.json
Lerna
nx.json
Nx
turbo.json
Turborepo
rush.json
Rush
3+ nested
package.json
files
Generic
判断一个项目是否为单体仓库的指标:
指标工具
pnpm-workspace.yaml
pnpm
lerna.json
Lerna
nx.json
Nx
turbo.json
Turborepo
rush.json
Rush
3个及以上嵌套的
package.json
文件
通用判断

Per-Service CLAUDE.md

每个服务独立的CLAUDE.md

Each service can have its own context instructions:
monorepo/
  CLAUDE.md               # Root context (workspace-wide rules)
  packages/
    api/
      CLAUDE.md           # API-specific patterns
      package.json
    web/
      CLAUDE.md           # Frontend-specific patterns
      package.json
    shared/
      CLAUDE.md           # Shared library context
      package.json
每个服务可拥有自己的上下文指令:
monorepo/
  CLAUDE.md               # 根目录上下文(工作区全局规则)
  packages/
    api/
      CLAUDE.md           # API专属模式
      package.json
    web/
      CLAUDE.md           # 前端专属模式
      package.json
    shared/
      CLAUDE.md           # 共享库上下文
      package.json

--add-dir Usage

--add-dir 使用方法

Start Claude Code with additional directory context:
bash
undefined
启动Claude Code时添加额外目录上下文:
bash
undefined

From api service, add shared library context

从api服务目录,添加共享库上下文

claude --add-dir ../shared
claude --add-dir ../shared

Multiple directories

添加多个目录

claude --add-dir ../shared --add-dir ../web
undefined
claude --add-dir ../shared --add-dir ../web
undefined

Environment Variable

环境变量

Enable automatic CLAUDE.md loading from additional directories:
bash
export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1
When set, Claude Code reads CLAUDE.md from all
--add-dir
directories.
启用自动从额外目录加载CLAUDE.md的功能:
bash
export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1
设置该环境变量后,Claude Code会读取所有通过
--add-dir
指定的目录中的CLAUDE.md文件。

Root vs Service Context Separation

根目录与服务上下文的区分

Root CLAUDE.md

根目录CLAUDE.md

  • Workspace-wide conventions (commit messages, branch naming)
  • Cross-service dependency rules
  • CI/CD pipeline overview
  • Shared tooling configuration
  • 工作区全局约定(提交信息、分支命名)
  • 跨服务依赖规则
  • CI/CD流水线概述
  • 共享工具配置

Service CLAUDE.md

服务目录CLAUDE.md

  • Service-specific patterns and frameworks
  • Local test commands
  • API contracts and schemas
  • Service-specific environment variables
  • 服务专属模式与框架
  • 本地测试命令
  • API契约与Schema
  • 服务专属环境变量

Related Skills

相关技能

  • configure
    - OrchestKit configuration including monorepo detection
  • project-structure-enforcer
    - Folder structure enforcement
  • configure
    - 包含单体仓库检测的OrchestKit配置
  • project-structure-enforcer
    - 目录结构强制执行