Claude Code メモリガイド:/init、CLAUDE.md、# ショートカット(図解)
メモリを与えない限り、Claude Code はセッションごとに忘れます。このウォークスルーでは実際の Next.js プロジェクトで /init を実行し、生成された CLAUDE.md を読み、# ショートカットでチャットからルールを追加し、Claude が実際に従うことを検証します —— 全ステップをスクリーンショットで確認済み。
TL;DR —— 4 行で分かる Claude Code メモリ
- プロジェクトごとに一度 /init を実行:Claude がリポジトリ —— フォルダ構造、スクリプト、状態管理 —— をスキャンし、ルートに構造化された CLAUDE.md を書きます。
- このファイルは以降のすべてのセッションのコンテキストに自動追加されるので、ここに書いた指針が今後のコード生成すべてを形作ります。
- チャットで # に続けてルールを入力するとその場で記憶します。保存先を選べます:プロジェクトメモリ(コミット対象)、ローカルプロジェクトメモリ、ユーザーメモリ(~/.claude/CLAUDE.md)。
- 構造やスタックが変わったらファイルを更新すること —— 古いメモリは Claude を誤った方向へ導きます —— そして /memory でいつでもメモリファイルを再オープンできます。
Claude Code Tutorial #2 - CLAUDE.md Files & /init
チャンネル:Net Ninja12:18
The CLAUDE.md file
チャンネル:Claude (official Anthropic channel)3:01
Claude Code's Memory System: The Full Guide
チャンネル:DIY Smart Code5:05
Manage Claude's memory — Claude Code documentation
ドキュメント:code.claude.com
フレームは Net Ninja の CLAUDE.md レッスン(クリーンな VS Code 収録)から。ウォークスルーの文章は独立して執筆され、Anthropic 公式メモリドキュメントと公式 CLAUDE.md 解説と突き合わせて検証しています。
スクリーンショットの著作権は作成者に帰属し、視覚的ドキュメントとしてクレジット付きで使用しています。各ステップから元動画の該当瞬間へ深リンクできます。
ゼロのメモリから「Claude が分かっているプロジェクト」へ
1 · /init で CLAUDE.md を生成
- 1
/init から始める
Claude Code をプロジェクトに初めて持ち込んだら、コードを何か頼む前に /init を実行します。ツールチップはその通り:コードベースのドキュメント付きで新しい CLAUDE.md ファイルを初期化する、と。Claude が先にプロジェクトを読んでおけば、未来のセッションは読む必要がありません。

/init —— 新しいリポジトリで何よりも先に実行すべき 1 コマンド。0:30 に視聴 - 2
書く前に探索する Claude を見る
/init は当て推量をしません。まず自分で todo リストを作ります:リポジトリ構造の探索、package.json とソースコードの分析、既存ドキュメントの確認、そして発見を携えて CLAUDE.md を作成。各項目がリアルタイムでチェックされていくので、このファイルは実在のコードの要約であり、テンプレートの穴埋めではありません。

初期化中の Update Todos リスト —— 探索し、分析し、それから書く。1:42 に視聴 - 3
書かれたガイダンスヘッダーとコマンドを読む
生成されたファイルは Claude Code 向けのガイダンスヘッダーで始まり、続いて package.json からそのまま抜き出した Development Commands —— dev、build、lint、start が並びます。Claude が独自のワークフローを捏造するのを防ぐのがこのセクションです:実在のスクリプトがコンテキストに入っています。

ファイルの冒頭:Claude Code へのガイダンス + プロジェクトの実際の npm スクリプト。2:56 に視聴 - 4
アーキテクチャと構成のセクションを確認する
下にスクロールすると、アーキテクチャ概要(このプロジェクト:React 19 と Tailwind を使った Next.js 15 ブログ)、新しいファイルの置き場所を示す Project Structure マップ、Hygraph CMS レイヤーのデータ永続化メモが記録されています。新しいセッションはリポジトリを読み直さずにこれらすべてを引き継ぎます。

パスが選択された Project Structure と、Hygraph のデータ永続化メモ。2:30 に視聴
2 · メモリを足して、定着を証明する
- 5
メモリが振る舞いを変えることを証明する
検証です:「すべての再利用可能な hook はこの hooks フォルダに入れる」をファイルに追加したあと、テーマ設定 hook を要求 —— ただしまだどこにも使わないと明言します。Claude の todo は src/hooks/use-theme に hook を作成し、最後に「hook は使用可能ですが、ご指示どおりどこにも統合されていません」と締めます。メモリが入り、振る舞いが出る。

hook はメモリファイルが指定したフォルダに着地 —— 「配線はまだ」という指示も守られています。6:40 に視聴 - 6
チャットから # で新しいルールを記憶させる
ファイルを手で編集する必要はありません。メッセージを # で始めます —— たとえば「# 新しいページコンポーネントを作るときは、必ずヘッダーにそのページへのリンクを追加」—— Claude Code はこれを保存すべきメモリと認識し、保存先を尋ねます:プロジェクトメモリ、ローカルプロジェクトメモリ、ユーザーメモリのいずれかです。

# ショートカットと、それが開く 3 つの保存先ピッカー。7:30 に視聴 - 7
4 つのメモリタイプを区別する
Anthropic のドキュメントの表が地図です:組織向けのエンタープライズポリシーメモリ、プロジェクトメモリ(./CLAUDE.md、コミットしてチーム共有)、ユーザーメモリ(~/.claude/CLAUDE.md、個人のグローバル設定)、そしてローカルプロジェクトメモリ(./CLAUDE.local.md、個人用かつ非追跡)—— ドキュメントは後者を非推奨とし、プロジェクトメモリから非追跡ファイルをインポートする方式を推奨していますが、ピッカーにはまだ表示されます。

公式のメモリタイプ表:場所、目的、そして誰と共有するファイルか。10:50 に視聴 - 8
ルールがファイルに書き込まれたことを確認する
プロジェクトメモリを選ぶと、ルールはプロジェクトの CLAUDE.md に追記されます —— ファイルの最下部にちゃんとあります:「新しいページコンポーネントを作るときは、必ずヘッダーにそのページへのリンクを追加」。次のセッションから、この行はコンテキストに自動で乗ってきます。

新しいルールがコミット済み CLAUDE.md の最下部に保存されたところ。11:48 に視聴
3 · メモリファイルを日常的に管理する
- 9
新しいタスクでメモリを検証する
ここで About ページを要求し、計画を見ます:「ご記憶の指示に従って、新しい About ページを作成しヘッダーにリンクを追加します」—— todo には「Add About page link to header navigation」が専用項目として並びます。2 ステップ前に # で記憶したルールが、繰り返されていないタスクを動かしているのです。(動画の正直な注意:Claude は言及していないページにもリンクを追加してしまうことがあります —— この暴走は同じファイルに 1 行書いて抑えられます。)

「…ご記憶の指示に従って」—— todo リストがルールの有効性を証明しています。9:37 に視聴 - 10
/memory でメモリファイルを再オープンする
/memory コマンドはすべてのメモリファイルと場所を一覧します:./.CLAUDE.md のコミット済みプロジェクトメモリ、gitignore された ./.CLAUDE.local.md のローカルメモリ、そして ~/.claude/CLAUDE.md のグローバルユーザーファイル。選べばエディタで開きます —— このプロジェクトのファイルには 11 件のメモリが数えられました。

Select memory to edit —— 3 つのスコープを 1 つのピッカーで。11:22 に視聴 - 11
他のファイルと同じように編集する
Claude Code は「Opened project memory at ./.CLAUDE.md」と確認して VS Code で開き、ヒントを添えます:$EDITOR または $VISUAL 環境変数を設定すれば別のエディタを選べると。/init から日々のメンテまで、メモリとは正確さを保ち続けるただの markdown ファイルです。

「Opened project memory at ./.CLAUDE.md」—— 編集して最新に保つ。12:06 に視聴
メモリのレイヤーと、各ファイルの場所
4 つのファイル、4 つのスコープ —— 正しいものを選べば、Claude Code のメモリはもう当てものではありません:
- 1プロジェクトメモリ —— リポジトリルートの ./CLAUDE.md。git で追跡され、プロジェクトの全開発者と共有。プロジェクトのことだけを書く:構造、規約、コマンド、フレームワーク。
- 2ローカルプロジェクトメモリ —— ./CLAUDE.local.md。このリポジトリでの個人メモ(自分のツール、自分のショートカット)で、非追跡のまま。ドキュメントでは非推奨 —— 推奨はプロジェクトメモリからの非追跡ファイルのインポート —— ですが、収録時点で # ピッカーにはまだ選択肢が現れます。
- 3ユーザーメモリ —— ホームディレクトリの ~/.claude/CLAUDE.md。このマシンの全プロジェクトにわたるグローバル設定:コードスタイル、応答言語、個人のワークフロー。
- 4CLAUDE.md の先 —— 新しい Claude Code ビルドには自動メモリシステム(~/.claude/projects/ 以下の MEMORY.md とトピックファイル)が加わり、Claude 自身が指示ファイルとは別に維持します。さらに @ インポートで他のドキュメントをコンテキストに引き込めます。指示ファイルだけでよければ CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 で無効化できます。
どのレイヤーを使うにせよ、動画の習慣は同じです:メモリは作って終わりではありません。構造、パッケージ、規約が変わったらファイルを更新する —— 古いメモリは無いより悪い、Claude は自信満々にそれに従うので。
