Skip to content

原文(日本語訳)

--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.md
  • CLAUDE.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 ../shared

frontend/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 ファイルが存在する場合、以下の順序で読み込まれます:

  1. メインディレクトリの CLAUDE.md
  2. メインディレクトリの .claude/CLAUDE.md
  3. 追加ディレクトリの CLAUDE.md(指定順)
  4. メインディレクトリの .claude/rules/*.md
  5. 追加ディレクトリの .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 を簡潔に保つ

関連情報