原文(日本語に翻訳)
--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)
概要
Claude Code v2.1.20で、--add-dirフラグで追加したディレクトリからCLAUDE.mdファイルを読み込む機能が追加されました。これにより、複数のプロジェクトやモジュールに分散したコードベースで作業する際に、各ディレクトリの設定やガイドラインを統合的に活用できます。環境変数CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1を設定することで有効化されます。
基本的な使い方
環境変数を設定して、追加ディレクトリからCLAUDE.mdを読み込む:
# 環境変数を設定して追加ディレクトリのCLAUDE.mdを読み込み
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config
# 複数のディレクトリを指定する場合
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../app ../lib ../shared読み込まれるファイル
この機能を有効にすると、指定した追加ディレクトリから以下のファイルが読み込まれます:
CLAUDE.md.claude/CLAUDE.md.claude/rules/*.md(ルールファイル)
実践例
モノレポ構成での利用
複数のアプリケーションやライブラリが含まれるモノレポで作業する場合:
# ディレクトリ構成
# monorepo/
# ├── apps/
# │ ├── web/
# │ │ └── CLAUDE.md # Webアプリ固有の設定
# │ └── mobile/
# │ └── CLAUDE.md # モバイルアプリ固有の設定
# ├── packages/
# │ ├── ui/
# │ │ └── CLAUDE.md # UIライブラリのガイドライン
# │ └── api/
# │ └── CLAUDE.md # APIクライアントの規約
# └── shared-config/
# └── CLAUDE.md # 共通設定
# webアプリで作業しつつ、共通設定とUIライブラリの設定も読み込む
cd apps/web
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude \
--add-dir ../../shared-config \
--add-dir ../../packages/ui共有設定ライブラリの利用
チーム全体で共有する設定を別リポジトリで管理:
# プロジェクト構成
# ~/projects/
# ├── my-project/
# │ └── CLAUDE.md # プロジェクト固有の設定
# └── shared-claude-rules/
# ├── CLAUDE.md # チーム共通の設定
# └── .claude/rules/
# ├── code-style.md
# ├── testing.md
# └── security.md
# my-projectで作業しつつ、共有ルールも読み込む
cd ~/projects/my-project
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude \
--add-dir ~/projects/shared-claude-rules環境ごとの設定分離
開発、ステージング、本番環境ごとに異なる設定を管理:
# 環境別設定
# project/
# ├── src/
# │ └── CLAUDE.md # プロジェクト設定
# └── config/
# ├── dev/
# │ └── CLAUDE.md # 開発環境用設定
# ├── staging/
# │ └── CLAUDE.md # ステージング環境用設定
# └── production/
# └── CLAUDE.md # 本番環境用設定
# 開発環境用の設定で作業
cd src
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude \
--add-dir ../config/dev
# 本番環境用の設定で作業(異なるURL、厳格なルール等)
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude \
--add-dir ../config/productionマイクロサービス構成での利用
複数のマイクロサービスを統合的に開発:
# マイクロサービス構成
# services/
# ├── auth-service/
# │ └── CLAUDE.md
# ├── user-service/
# │ └── CLAUDE.md
# ├── payment-service/
# │ └── CLAUDE.md
# └── shared/
# ├── CLAUDE.md # サービス共通の規約
# └── .claude/rules/
# ├── api-contracts.md # API契約
# └── database.md # DB規約
# payment-serviceで作業しつつ、共有規約とauth-serviceの設定も参照
cd payment-service
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude \
--add-dir ../shared \
--add-dir ../auth-service環境変数の永続設定
毎回環境変数を設定するのを避けるため、シェル設定ファイルに追加:
# ~/.bashrc または ~/.zshrc に追加
export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1
# これで単純に実行可能
claude --add-dir ../shared-config設定の読み込み順序
CLAUDE.mdファイルは以下の優先順位で読み込まれます(高い順):
- Managed policy - 組織全体の設定
- Project memory - プロジェクト固有の設定(./CLAUDE.md)
- Project rules - プロジェクトルール(./.claude/rules/*.md)
- User memory - ユーザー個人の設定(~/.claude/CLAUDE.md)
- Project memory (local) - ローカル設定(./CLAUDE.local.md)
- Additional directories - 追加ディレクトリの設定(この機能)
注意点
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1環境変数の設定が必須です- この環境変数がない場合、
--add-dirで指定したディレクトリのファイルにはアクセスできますが、CLAUDE.mdは読み込まれません - 追加ディレクトリのCLAUDE.mdはプロジェクトのCLAUDE.mdより優先度が低いです
- 循環参照やシンボリックリンクのループは自動的に検出・処理されます
- 読み込まれた設定は
/memoryコマンドで確認できます
設定の確認方法
読み込まれているCLAUDE.mdファイルを確認:
# Claude Code内で実行
/memory
# または設定を編集
/memory