【基礎編】ClaudeCodeのmemory機能:開発スタイルを記憶させる設定方法
はじめに
こんにちは、
株式会社dotConfにて、AIエンジニアをしている森です!

AIコーディング支援ツール「Claude Code」を使っていて、こんな経験はありませんか?
- 毎回同じコーディング規約を説明するのが面倒
- プロジェクト固有の設定やルールを何度も伝えている
- チーム開発での共通ルールをAIに覚えさせたい
- 自分の好みのコードスタイルをAIに理解してほしい
Claude Codeには 「memory機能」 という機能があるのですが、使用していない方も多いのではないでしょうか?
本記事(基礎編)では、Claude Codeのmemory機能の仕組みと具体的な設定方法を詳しく解説します。
memory機能とは? 💡
概要
Claude Codeの memory機能 は、皆さんの開発スタイルやプロジェクト固有のルール、よく使う設定などを記憶し、すべての会話で自動的に参照してくれる機能です。
従来は毎回の会話で同じ説明を繰り返す必要がありましたが、memory機能を使えば一度設定するだけで、Claude Codeが常に皆さんの好みやプロジェクトのルールを理解した状態で回答してくれます。
memory機能の階層構造
Claude Codeは、4つの階層でメモリを管理します。すべてのメモリファイルは起動時に自動的に読み込まれ、階層の上位にあるファイルが優先されます。
| メモリタイプ | 場所 | 目的 | 共有対象 |
|---|---|---|---|
| エンタープライズポリシー | macOS: /Library/Application Support/ClaudeCode/CLAUDE.mdLinux: /etc/claude-code/CLAUDE.mdWindows: C:\ProgramData\ClaudeCode\CLAUDE.md
|
IT/DevOpsが管理する組織全体の指示 | 組織内のすべてのユーザー |
| プロジェクトメモリ |
./CLAUDE.md または ./.claude/CLAUDE.md
|
プロジェクトのチーム共有指示 | ソース管理を通じたチームメンバー |
| ユーザーメモリ | ~/.claude/CLAUDE.md |
すべてのプロジェクトの個人設定 | 個人(すべてのプロジェクト) |
| プロジェクトメモリ(ローカル) | ./CLAUDE.local.md |
個人のプロジェクト固有の設定 (非推奨) |
個人(現在のプロジェクト) |
従来の方法との比較
| 従来の方法 | memory機能を使った場合 |
|---|---|
| 毎回コーディング規約を説明 | 一度設定すれば自動で参照 |
| プロンプトに毎回ルールを記載 | memory機能が自動で適用 |
| プロジェクト情報を毎回伝える | 設定済みの情報を常に参照 |
| 会話ごとにコンテキストが失われる | プロジェクト全体で一貫性を保持 |
memory機能の設定方法 🛠️
1. メモリファイルの作成
使用目的に応じて、適切な場所にメモリファイルを作成します。
エンタープライズポリシー(組織全体)
# macOSの場合
sudo mkdir -p "/Library/Application Support/ClaudeCode"
sudo touch "/Library/Application Support/ClaudeCode/CLAUDE.md"
# Linuxの場合
sudo mkdir -p /etc/claude-code
sudo touch /etc/claude-code/CLAUDE.md
# Windowsの場合(PowerShell管理者権限)
New-Item -Path "C:\ProgramData\ClaudeCode" -ItemType Directory -Force
New-Item -Path "C:\ProgramData\ClaudeCode\CLAUDE.md" -ItemType File
プロジェクトメモリ(チーム共有)
# プロジェクトルートに設定ファイルを作成
touch CLAUDE.md
# または .claude ディレクトリ内に作成
mkdir -p .claude
touch .claude/CLAUDE.md
ユーザーメモリ(個人設定・全プロジェクト共通)
# ホームディレクトリに設定ファイルを作成
mkdir -p ~/.claude
touch ~/.claude/CLAUDE.md
プロジェクトメモリ・ローカル(個人設定・現在のプロジェクトのみ)【非推奨】
# プロジェクトルートに作成(非推奨)
touch CLAUDE.local.md
優先順位と読み込み順序
メモリファイルは以下の順序で読み込まれます(上から順に優先度が高い):
- エンタープライズポリシー - 組織全体のベースルール
- プロジェクトメモリ - プロジェクト固有のルール
- ユーザーメモリ - 個人の全プロジェクト共通設定
-
プロジェクトメモリ(ローカル)- 非推奨(インポート構文の使用を推奨)
すべてのメモリファイルが存在する場合、それぞれの内容がマージされて使用されます。
2. CLAUDE.mdの記述方法
CLAUDE.mdファイルには、マークダウン形式で任意の情報を記載できます。
以下のような情報を記載すると効果的です:
# プロジェクトについて
このプロジェクトは、PythonとStreamlitを使用したWebアプリケーションです。
## 使用技術スタック
- Python 3.11
- Streamlit 1.30
- pandas
- plotly
## コーディング規約
- 関数名・変数名:snake_case
- クラス名:PascalCase
- 定数:UPPER_SNAKE_CASE
- インデントはスペース4つ
- PEP 8に準拠
## 開発ルール
- コミットメッセージは日本語でOK
- PRは必ずレビューを受ける
- テストは必須(pytest使用)
3. インポート構文による拡張
CLAUDE.mdファイルは、@path/to/import 構文を使用して他のファイルをインポートできます。
プロジェクトの概要については @README.md を、このプロジェクトで利用可能なnpmコマンドについては @package.json を参照してください。
# 追加指示
- gitワークフロー @docs/git-instructions.md
インポートの特徴:
- 相対パスと絶対パスの両方が使用可能
- ホームディレクトリ内のファイルもインポート可能(
@~/.claude/my-project-instructions.md) - 最大5階層まで再帰的にインポート可能
- マークダウンのコードスパンやコードブロック内では評価されない
4. memory機能の確認
設定が正しく反映されているかを確認するには、/memory コマンドを使用します:
claude
> /memory
このコマンドで、現在読み込まれているすべてのメモリファイルを確認できます。
また、Claude Codeに直接質問することでも確認できます:
> このプロジェクトのコーディング規約を教えて
設定したCLAUDE.mdの内容を基に、Claudeが適切に回答してくれれば成功です。
便利なコマンドと機能 ⚡
memory機能をより効率的に使うための便利なコマンドと機能を紹介します。
/init コマンド - プロジェクトメモリの自動生成
プロジェクトのCLAUDE.mdファイルを自動生成できます:
claude
> /init
このコマンドを実行すると、Claude Codeがプロジェクトを分析し、以下のような情報を含むCLAUDE.mdを自動生成してくれます:
- プロジェクト概要
- 使用技術スタック
- よく使うコマンド(ビルド、テスト、リント)
- 重要なアーキテクチャパターン
/memory コマンド - メモリファイルの直接編集
システムエディタでメモリファイルを編集できます:
claude
> /memory
このコマンドを実行すると:
- 現在読み込まれているメモリファイルを確認
- 編集するメモリファイルを選択
- システムのデフォルトエディタで編集
# ショートカット - 素早いメモリ追加
セッション中に、入力を # で始めることで素早くメモリを追加できます:
claude
> # 常に説明的な変数名を使用する
保存先のメモリファイルを選択するプロンプトが表示されます。
再帰的なメモリ検索
Claude Codeは、カレントディレクトリからルートディレクトリ / まで再帰的にCLAUDE.mdファイルを検索します。
例: foo/bar/ でClaude Codeを実行した場合
-
foo/bar/CLAUDE.mdを読み込む -
foo/CLAUDE.mdも読み込む -
/CLAUDE.mdは読み込まない(ルートディレクトリは除外)
また、カレントディレクトリ配下のサブツリーにあるCLAUDE.mdも、そのサブツリー内のファイルを読み取る際に自動的に含まれます。
まとめ
本記事(基礎編)では、Claude Codeのmemory機能の基本的な仕組みと設定方法について解説しました。
重要なポイント 📌:
- memory機能は4つの階層(エンタープライズ・プロジェクト・ユーザー・ローカル)で管理
- ファイル名は
CLAUDE.mdを使用(memory.mdではない) - 階層の上位ファイルが優先され、すべての内容がマージされる
-
@インポート構文で既存ファイルを参照し、CLAUDE.mdをシンプルに保つ -
/initコマンドでプロジェクトメモリを自動生成 -
/memoryコマンドで現在のメモリ状態を確認・編集 -
#ショートカットで素早くメモリを追加
まずは /init コマンドでプロジェクトメモリを自動生成し、必要に応じてカスタマイズしていくことをおすすめします。
参考リソース 📚
最後に
最後まで読んでくださり、ありがとうございました!
本記事では、Claude Codeのmemory機能の基本的な設定方法を解説しました。
memory機能を活用すれば、AIが皆さんの開発パートナーとしてさらに頼もしい存在になります。
ぜひ実践編も参考にしていただき、チーム開発での具体的な活用方法を学んでください!
生成AI、データ分析、深層学習を体系的に学び、プロの指導のもとで実践的なAIスキルを習得したい方、
キャリアの幅を広げたい方や副業を目指す方は、ぜひこちらからお問い合わせください。
Discussion