メモリタイプを決定する
Claude Codeは階層構造で4つのメモリロケーションを提供し、それぞれが異なる目的を果たします:| メモリタイプ | ロケーション | 目的 | ユースケース例 | 共有対象 |
|---|---|---|---|---|
| エンタープライズポリシー | • macOS: /Library/Application Support/ClaudeCode/CLAUDE.md• Linux: /etc/claude-code/CLAUDE.md• Windows: C:\Program Files\ClaudeCode\CLAUDE.md | IT/DevOpsによって管理される組織全体の指示 | 企業のコーディング標準、セキュリティポリシー、コンプライアンス要件 | 組織内のすべてのユーザー |
| プロジェクトメモリ | ./CLAUDE.md または ./.claude/CLAUDE.md | プロジェクトのチーム共有指示 | プロジェクトアーキテクチャ、コーディング標準、一般的なワークフロー | ソース管理を通じたチームメンバー |
| プロジェクトルール | ./.claude/rules/*.md | モジュール化されたトピック固有のプロジェクト指示 | 言語固有のガイドライン、テスト規約、API標準 | ソース管理を通じたチームメンバー |
| ユーザーメモリ | ~/.claude/CLAUDE.md | すべてのプロジェクトの個人的な設定 | コードスタイルの設定、個人的なツーリングショートカット | あなただけ(すべてのプロジェクト) |
| プロジェクトメモリ(ローカル) | ./CLAUDE.local.md | 個人的なプロジェクト固有の設定 | あなたのサンドボックスURL、推奨テストデータ | あなただけ(現在のプロジェクト) |
CLAUDE.local.mdファイルは自動的に.gitignoreに追加されるため、バージョン管理にチェックインすべきではない個人的なプロジェクト固有の設定に最適です。
CLAUDE.mdインポート
CLAUDE.mdファイルは@path/to/import構文を使用して追加ファイルをインポートできます。次の例は3つのファイルをインポートします:
/memoryコマンドを実行することで、どのメモリファイルが読み込まれているかを確認できます。
Claudeがメモリをどのように検索するか
Claude Codeはメモリを再帰的に読み込みます:cwdから開始して、Claude Codeはルートディレクトリ_/_(ただし含まない)まで再帰し、見つかったCLAUDE.mdまたはCLAUDE.local.mdファイルを読み込みます。これは、Claude Codeを_foo/bar/_で実行し、_foo/CLAUDE.md_と_foo/bar/CLAUDE.md_の両方にメモリがある大規模なリポジトリで作業する場合に特に便利です。 Claudeはまた、現在の作業ディレクトリの下のサブツリーにネストされたCLAUDE.mdを発見します。起動時に読み込む代わりに、Claudeがそれらのサブツリー内のファイルを読み込むときにのみ含まれます。/memoryでメモリを直接編集する
セッション中に/memoryスラッシュコマンドを使用して、システムエディタでメモリファイルを開き、より広範な追加または整理を行います。
プロジェクトメモリを設定する
重要なプロジェクト情報、規約、および頻繁に使用されるコマンドを保存するためにCLAUDE.mdファイルを設定したいとします。プロジェクトメモリは./CLAUDE.mdまたは./.claude/CLAUDE.mdに保存できます。
次のコマンドでコードベース用のCLAUDE.mdをブートストラップします:
.claude/rules/を使用したモジュール化ルール
大規模なプロジェクトの場合、.claude/rules/ディレクトリを使用して指示を複数のファイルに整理できます。これにより、チームは1つの大きなCLAUDE.mdの代わりに、焦点を絞った、よく整理されたルールファイルを維持できます。
基本構造
プロジェクトの.claude/rules/ディレクトリにマークダウンファイルを配置します:
.claude/rules/内のすべての.mdファイルは自動的にプロジェクトメモリとして読み込まれ、.claude/CLAUDE.mdと同じ優先度を持ちます。
パス固有のルール
ルールはpathsフィールドを持つYAMLフロントマターを使用して特定のファイルにスコープできます。これらの条件付きルールは、Claudeが指定されたパターンに一致するファイルで作業している場合にのみ適用されます。
pathsフィールドのないルールは無条件に読み込まれ、すべてのファイルに適用されます。
グロブパターン
pathsフィールドは標準的なグロブパターンをサポートしています:
| パターン | マッチ |
|---|---|
**/*.ts | 任意のディレクトリ内のすべてのTypeScriptファイル |
src/**/* | src/ディレクトリの下のすべてのファイル |
*.md | プロジェクトルートのマークダウンファイル |
src/components/*.tsx | 特定のディレクトリ内のReactコンポーネント |
src/**/*.tsとsrc/**/*.tsxの両方にマッチするように展開されます。カンマで複数のパターンを組み合わせることもできます:
サブディレクトリ
ルールはより良い構造のためにサブディレクトリに整理できます:.mdファイルは再帰的に発見されます。
シンボリックリンク
.claude/rules/ディレクトリはシンボリックリンクをサポートしており、複数のプロジェクト間で一般的なルールを共有できます:
ユーザーレベルのルール
すべてのプロジェクトに適用される個人的なルールを~/.claude/rules/に作成できます:
組織レベルのメモリ管理
組織は、すべてのユーザーに適用される一元管理されたCLAUDE.mdファイルをデプロイできます。 組織レベルのメモリ管理を設定するには:- 上記のメモリタイプテーブルに示されている管理ポリシーロケーションで管理されたメモリファイルを作成します。
- 構成管理システム(MDM、グループポリシー、Ansibleなど)を通じてデプロイして、すべての開発者マシン間で一貫した配布を確保します。
メモリのベストプラクティス
- 具体的である:「2スペースのインデントを使用する」は「コードを適切にフォーマットする」より優れています。
- 構造を使用して整理する:各個別のメモリを箇条書きとしてフォーマットし、関連するメモリを説明的なマークダウン見出しの下にグループ化します。
- 定期的にレビューする:プロジェクトが進化するにつれてメモリを更新して、Claudeが常に最新の情報とコンテキストを使用していることを確認します。