原文(日本語訳)
--add-dir フラグで指定された追加ディレクトリからの CLAUDE.md ファイルの読み込みをサポート(CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 の設定が必要)
原文(英語)
Added support for loading CLAUDE.md files from additional directories specified via --add-dir flag (requires setting CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1)
概要
--add-dir フラグで追加したディレクトリの CLAUDE.md ファイルを読み込めるようになりました。モノレポやマイクロサービスなど、複数ディレクトリにまたがるプロジェクトで、各ディレクトリの設定やメモリを統合して活用できます。
基本的な使い方
環境変数を設定してから Claude Code を起動します。
bash
# 環境変数を設定
export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1
# 追加ディレクトリを指定して起動
claude --add-dir ../backend-api読み込まれるファイル
追加ディレクトリから以下のファイルが読み込まれます:
CLAUDE.mdCLAUDE.local.md.claude/CLAUDE.md.claude/rules/*.md
実践例
モノレポでの利用
bash
# プロジェクト構造
monorepo/
├── frontend/
│ ├── CLAUDE.md # フロントエンド固有の設定
│ └── src/
├── backend/
│ ├── CLAUDE.md # バックエンド固有の設定
│ └── src/
└── shared/
└── CLAUDE.md # 共通の設定
# 環境変数を設定
export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1
# フロントエンドから起動し、バックエンドを追加
cd frontend
claude --add-dir ../backend --add-dir ../sharedfrontend/CLAUDE.md:
markdown
# フロントエンド設定
- React + TypeScript を使用
- Tailwind CSS でスタイリング
- コンポーネントは src/components/ に配置backend/CLAUDE.md:
markdown
# バックエンド設定
- Node.js + Express を使用
- PostgreSQL をデータベースとして使用
- API エンドポイントは /api/v1/ プレフィックスshared/CLAUDE.md:
markdown
# 共通設定
- pnpm をパッケージマネージャーとして使用
- ESLint + Prettier でコード品質管理
- コミットメッセージは Conventional Commits 形式マイクロサービスアーキテクチャ
bash
# プロジェクト構造
services/
├── auth-service/
│ └── .claude/CLAUDE.md
├── user-service/
│ └── .claude/CLAUDE.md
├── payment-service/
│ └── .claude/CLAUDE.md
└── common/
└── CLAUDE.md
# 環境変数を設定
export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1
# auth-service で作業しつつ、他のサービスの設定も読み込む
cd auth-service
claude --add-dir ../user-service --add-dir ../payment-service --add-dir ../commonインタラクティブセッションでの追加
bash
# セッション中にディレクトリを追加
claude
> /add-dir ../docs
> /add-dir ../config
# 追加されたディレクトリの CLAUDE.md も読み込まれる環境別設定の管理
bash
# プロジェクト構造
project/
├── CLAUDE.md # 基本設定
├── environments/
│ ├── development/
│ │ └── CLAUDE.md # 開発環境固有の設定
│ ├── staging/
│ │ └── CLAUDE.md # ステージング環境固有の設定
│ └── production/
│ └── CLAUDE.md # 本番環境固有の設定
# 開発環境の設定を読み込む
export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1
claude --add-dir environments/development設定の永続化
シェル設定ファイルに追加
bash
# ~/.zshrc または ~/.bashrc に追加
export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1反映:
bash
source ~/.zshrcプロジェクト固有の設定
bash
# プロジェクトルートに .envrc を作成(direnv を使用)
echo 'export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1' > .envrc
direnv allowエイリアスの作成
bash
# ~/.zshrc に追加
alias claude-multi='CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude'
# 使用
claude-multi --add-dir ../backend複数 CLAUDE.md の優先順位
複数の CLAUDE.md ファイルが存在する場合、以下の順序で読み込まれます:
- メインディレクトリの
CLAUDE.md - メインディレクトリの
.claude/CLAUDE.md - 追加ディレクトリの
CLAUDE.md(指定順) - メインディレクトリの
.claude/rules/*.md - 追加ディレクトリの
.claude/rules/*.md(指定順)
メモリファイルの統合例
bash
# メインプロジェクトの CLAUDE.md
"""
# プロジェクト全体の方針
- モノレポ構成
- pnpm workspaces を使用
@../backend/CLAUDE.md を参照
"""
# backend/CLAUDE.md
"""
# バックエンド API 仕様
- REST API
- OpenAPI 3.0 仕様
- 認証: JWT
"""統合後、Claude は両方の情報を参照できます。
注意点
- 環境変数が必須:
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1を設定しないと、追加ディレクトリの CLAUDE.md は読み込まれません - 後方互換性: この機能はオプトインであり、デフォルトでは無効です
- パフォーマンス: 多数のディレクトリを追加すると、起動時間が増加する可能性があります
- コンテキストサイズ: 複数の CLAUDE.md を読み込むと、初期コンテキストが増加します
- 相対パス:
@file.mdのような相対参照は、各 CLAUDE.md ファイルの場所から解決されます
スキルとの統合
bash
# スキルも追加ディレクトリから自動読み込み(v2.1.32 以降)
# .claude/skills/ にあるスキルが自動的に利用可能になる
project/
├── .claude/skills/
│ └── deploy.md
└── common/
└── .claude/skills/
└── test.md # このスキルも読み込まれる
export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1
claude --add-dir ../common
> /deploy # 両方のディレクトリのスキルが利用可能
> /testトラブルシューティング
CLAUDE.md が読み込まれない
bash
# 環境変数を確認
echo $CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD
# 未設定の場合
export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1ファイルパスが見つからない
bash
# 絶対パスまたは相対パスを確認
claude --add-dir /absolute/path/to/directory
# または
claude --add-dir ../relative/pathコンテキストサイズの問題
bash
# 必要最小限のディレクトリのみを追加
# または CLAUDE.md を簡潔に保つ