🧠

Claude Codeのメモリ管理完全ガイド:CLAUDE.mdの使い方とベストプラクティス

に公開

Claude Codeのメモリ管理

こんにちは、イワケンです
Claude Codeのメモリ管理についてまとめました。
引用元: 公式ドキュメント(日本語版)

Claude Codeは、開発者のワークフローやスタイルガイドラインなどの設定をセッション間で記憶し、効率的な開発支援を行います。

このメモリは、特定のMarkdownファイル(CLAUDE.mdなど)を通じて管理され、プロジェクト全体や個人の設定を保存できます。


メモリタイプとその用途

Claude Codeでは、以下の3種類のメモリファイルを使用して設定を管理します:

メモリタイプ ファイルパス 用途 使用例
プロジェクトメモリ ./CLAUDE.md プロジェクト全体で共有する設定 アーキテクチャ設計、コーディング標準、共通ワークフロー
ユーザーメモリ ~/.claude/CLAUDE.md 全プロジェクトでの個人設定 コードスタイル、個人ツールのショートカット
プロジェクトメモリ(ローカル) ./CLAUDE.local.md プロジェクト固有の個人設定 サンドボックスURL、優先テストデータ(※非推奨)

注意: CLAUDE.local.mdは非推奨となっており、代わりにCLAUDE.mdでのインポート機能を使用することが推奨されています。


CLAUDE.mdのインポート機能

CLAUDE.mdファイルでは、@path/to/importの構文を使用して他のファイルをインポートできます。

基本的な使い方

プロジェクト概要は@READMEを、このプロジェクトで利用可能なnpmコマンドは@package.jsonを参照してください。

# 追加指示
- gitワークフロー @docs/git-instructions.md

高度な使い方

相対パスと絶対パスの両方が使用可能で、ユーザーのホームディレクトリ内のファイルもインポートできます。

# 個人設定
- @~/.claude/my-project-instructions.md

インポートは最大5階層までの再帰的な読み込みが可能です。

注意: マークダウンのコードスパン(``)やコードブロック内ではインポートは評価されません。


Claudeがメモリを検索する方法

Claude Codeは、現在の作業ディレクトリからルートディレクトリ(/)まで再帰的に上り、各ディレクトリ内のCLAUDE.mdやCLAUDE.local.mdを読み取ります。

また、現在の作業ディレクトリ以下のサブディレクトリ内にあるCLAUDE.mdも、Claudeがそのサブディレクトリ内のファイルを読み取る際に含まれます。


#ショートカットでメモリをすばやく追加

メモリを追加する最も簡単な方法は、入力を#で始めることです:

# 常に説明的な変数名を使用する

この入力を行うと、どのメモリファイルに保存するかを選択するように促されます。


/memoryコマンドでメモリを直接編集

セッション中に/memoryコマンドを使用すると、システムエディタでメモリファイルを開き、より詳細な編集や整理が可能です。


メモリ管理のベストプラクティス

  • 具体的に記述する:「2スペースのインデントを使用する」は「コードを適切にフォーマットする」よりも明確です。
  • 構造化する:各メモリを箇条書きにし、関連するメモリをマークダウンの見出しでグループ化します。
  • 定期的に見直す:プロジェクトの進行に合わせてメモリを更新し、常に最新の情報を保持します。

まとめ

Claude Codeのメモリ管理機能を活用することで、プロジェクトの一貫性を保ち、開発効率を向上させることができます。

特に重要なポイント:

  • CLAUDE.mdを使用してプロジェクト全体の設定を管理
  • インポート機能で設定を柔軟に組み合わせる
  • #ショートカットや/memoryコマンドで素早く設定を更新

参考リンク

Discussion