REFERENCE · 2026.05.13

Claude Code 学習メモ

齋藤 雄三 — メモリ / プラットフォーム / MCP / CLI 全部入り
使い方:分からんくなったらここに戻ってくる用の参考資料。一度で全部理解せんでもいい。 「あれ何やったっけ」となったら目次から該当セクションへ飛んで、必要なとこだけ読み直す。 ブラウザでそのまま開けるから、ブックマーク or デスクトップに保存しとくと便利。

01Claude Code の記憶(メモリ)の3層構造

Claude Code の記憶は、3つの層が組み合わさって動いとる。

① CLAUDE.md(自分で書く・最重要)

Markdownファイルで「Claudeへの永続的な指示」を書く。セッション開始時に自動で読み込まれる

場所スコープ用途
~/.claude/CLAUDE.md全プロジェクト共通自分の好み・基本方針
./CLAUDE.mdこのプロジェクトのみプロジェクト固有の仕様
./CLAUDE.local.mdこのプロジェクト+gitignore個人メモ

② Auto Memory(Claudeが勝手にメモる)

v2.1.59以降デフォルトON。ビルドコマンド、デバッグの気づき、アーキテクチャの判断、コードスタイルの好み、作業の習慣などをClaudeが自動で記録。「前回ビルドエラー出たから次は○○する」みたいなことを勝手に覚えてくれる。/memory コマンドで中身が見れる。

③ Session Memory(セッション要約)

セッション開始時に「Recalled X memories」と表示されるあれ。前回の作業内容を要約して引き継いでくれる。~/.claude/projects/<project-hash>/ に保存される。

同一プロジェクト内

別セッションでも記憶は完全に共有される。「昨日のセッションでメモ機能を実装した、続きをやって」と言えば、文脈が自動で引き継がれる。

別プロジェクト間

2026年5月時点では直接共有はできない。3つの実用的な回避策がある(次項)。

プロジェクト間で知識を引き継ぐ方法

方法A:グローバル CLAUDE.md に共通方針を書く

~/.claude/CLAUDE.md に書いておけば全プロジェクトで自動読み込み。例:

# Yuzoの開発方針
- Webアプリは Supabase + Cloudflare + GitHub の構成で作る
- 履歴管理は CHANGELOG.md と TODO.md に書く
- バージョン番号は Ver X.Y 形式
- 業務系アプリは最初にローカル版を作り、安定したらネットワーク版へ

方法B:前プロジェクトの CLAUDE.md を import する

新プロジェクトの CLAUDE.md に @ でファイル参照を書く。

# 社有車使用簿APP

参考にする設計:
@~/Documents/Apps/訪看訪問時間管理/CLAUDE.md

このプロジェクトの仕様:
- 利用者ではなく社有車を管理対象とする
- GPS連携・CSV出力の仕様は訪問記録APPと同じ

方法C:手動で「前のプロジェクト見て」と指示

新セッションで:

「~/Documents/Apps/訪看訪問時間管理/ の CLAUDE.md と全体構造を読んでから、
新しい社有車管理アプリを同じ方針で設計して」

Claude Code が該当ディレクトリを読みに行く。一番柔軟。

↑ 目次へ戻る

02ホスティング判断:集約 vs 分散

Netlifyでトークン使い果たした件

これは構造的な問題で、使い方が悪かったわけじゃない。2024〜2025年にかけてNetlifyは無料枠を大幅に絞った。100GB帯域・300分ビルドという制限は、Claude Code で頻繁にpushしてデプロイを回すスタイルとは相性が悪い。

Cloudflareに逃げたんは正解。Cloudflare Pagesは無料枠が桁違いに大きい(500ビルド/月、無制限帯域)。Workersも10万リクエスト/日の無料枠で、小規模業務アプリなら課金ライン到達はほぼ不可能。

集約 vs 分散の本当のトレードオフ

集約のメリット

分散のメリット(過小評価されがち)

Claude Code 時代の新しい変数

従来:「プラットフォーム知識は頭の中にあるべきだから、複数学ぶのは大変→集約しよう」

2026年:プラットフォーム知識は CLAUDE.md とドキュメントの中にあればよく、頭に置く必要はない。「集約せねば」という圧力は半分くらいに減っとる。

提案:「デフォルト + 例外」戦略

段階戦略
デフォルトCloudflare Pages + Workers + D1 を「迷ったらこれ」にする
例外1Next.jsを本気で使うアプリは Vercel
例外2顧客が既に契約しとるサービスがあればそれに乗る
↑ 目次へ戻る

03サービスは5層構造で見る

世の中のサービスは、この5層のどこかに収まる。レイヤーを意識すると、新サービスが出てきても瞬時に位置付けられる

役割代表例
① 開発アシスタントコードを書く相棒Claude Code、Cursor、Copilot
② ソースコード管理コードの保管・履歴GitHub(一強)、GitLab
③ バックエンド/DBデータの保存場所Supabase、Neon、Firebase
④ ホスティング/デプロイアプリの実行場所Cloudflare、Vercel、Netlify
⑤ MCPサーバーClaudeに「目と手」を付けるGitHub MCP、Supabase MCP

Yuzo の現状マッピング

① Claude Code
② GitHub
③ Supabase
④ Cloudflare(訪問記録APP)/ Vercel(釣行管理APP)
⑤ まだ未使用

競合関係 vs 補完関係を見分ける

同じ層 = 競合

Cloudflare ⟷ Vercel ⟷ Netlify → どれか1〜2個でいい
Supabase ⟷ Neon ⟷ Firebase → 1個でいい
ここは「集約」が正解

違う層 = 補完

GitHub + Supabase + Cloudflare → 全部いる。役割が違うけん競合せん。
ここで「集約」の発想は無意味。

↑ 目次へ戻る

04MCPサーバーとは何か

よくある誤解

「Claude Code が既に GitHub に push してくれる = MCP のおかげ」違う

これは MCP のおかげじゃなくて、ターミナルで普通に動く git コマンドを Claude Code が実行しとるだけ。Yuzo がターミナルで git push 打つのと同じことを代行しとる。

MCP の本質:「CLIで叩けないサービスへの橋」

カテゴリMCP の必要性
CLI で叩けるGit/GitHub、AWS、Cloudflare、Docker無くてもOK
CLI で叩きにくいNotion、Slack、Figma、Stripe、Sentry、SupabaseのDB中身MCPで激変

MCP導入後にできるようになること

例:GitHub MCP

従来: 「コミットしてpushして」
  → Claude Code が git CLI で実行

MCP導入後(GitHub MCP):
  「未解決のIssue全部見せて、優先度高い順に並べて、
   昨日のコミットで関連する変更を加えたものに『修正済み』ラベル付けて」
  → 構造化APIで一気にやれる

Yuzo に今必要なMCPは4つだけ

MCP優先度理由
Supabase MCP🥇DB中身の確認・SQL投げが激変
GitHub MCP🥈Issue/PR管理が必要になったら
Cloudflare MCP🥉D1やWorkers使い始めたら
Notion MCP任意もしNotionで業務メモ取っとるなら
大事な原則

「30個全部入れな!」は罠。自分が使うサービスのMCPだけ入れればいい。先回りして入れると選択肢過多で混乱する。

↑ 目次へ戻る

05bash / CLI / ターミナルの基礎

3つはレイヤーが違う

ターミナル(窓口アプリ)
  └── シェル(翻訳者:bash / zsh)
        └── CLI = 文字で命令を出す操作スタイル

用語ひとつずつ

CLI(Command Line Interface)

「文字を打って命令を出すスタイル全般」のこと。Command Line Interfaceの略。

対義語はGUI(Graphical User Interface)=マウスでアイコンをクリックする世界。

GUI の例CLI の例
iPhoneのアプリをタップnpm install と打つ
Finderでファイルをダブルクリックopen file.txt と打つ

bash(バッシュ)/ zsh(ズィーシェル)

CLIで打った命令を実際に解釈して実行するプログラム。「シェル」と呼ばれるカテゴリの一種。

世間では総称して「bash」と呼んでしまうことが多いけど、実体は zsh のことも多い。

ターミナル

シェルが動く窓口アプリ。Macに最初から入っとる「ターミナル」アプリがそれ。

Yuzo の実体験で置き換える

1. Macの「ターミナル」アプリを開く    ← ターミナル
2. 黒い画面で文字が打てる状態になる    ← ここで zsh が待機中
3. 「claude」と打って Enter          ← この瞬間が CLI 操作
4. Claude Code が起動               ← Claude Code 自体もCLIツール
気づき

Yuzo はこの2週間、毎日CLIでzshを触っとった。ただClaude Codeが会話形式で包んでくれとるけん、自覚せんかっただけ。

↑ 目次へ戻る

06なぜClaude CodeはCLIなのか

① 開発者は既にターミナルに住んどる

プログラマーが普段やる仕事 ── テスト実行、git操作、デプロイ、ログ確認 ── 全部ターミナルで動いとる。「いつも開いとるターミナルの中で、そのままClaudeが動く」方が自然。

② CLIは他のCLIと自由に組み合わせられる

git log の結果 → grep でフィルタ → claude にレビュー依頼

これが1行で書ける。GUIアプリだと「ファイルにエクスポート → 別アプリで開く → 結果をまたエクスポート」と手間が増える。

③ ファイルが「共通言語」になる

プログラミングプロジェクトの正体は「フォルダの中のテキストファイルの集合」。CLIツールはファイルを直接読み書きできる。GUIだとそのまわりに大量のUIを作り込む必要がある。

④ 透明性が学習の助けになる(Yuzo に効くポイント)

GUI は便利な代わりに、裏で何が起こっとるかが見えない。CLI の Claude Code はこう報告する:

全部見える形で実況してくれる。これが、コードが書けないYuzoが「何が起こっとるか」を自然に学ぶ補助輪になっとる。

⑤ 自動化に組み込める

毎朝6時に → Claude Code に「昨日のコミットを要約して」 → Slack投稿

こういう無人運転がCLIなら数行で組める。GUIアプリは「人間が画面を見てクリックする」前提やけん自動化に組み込めない。

現状と方向性

Anthropic は Claude Code Desktop アプリ(GUI版)もリリース済み。方向としては「CLIを捨ててGUIに」じゃなくて、「CLIの強さを保ったまま、GUIの便利さも乗せる」。両方使い分けるのが2026年後半のスタイル。

哲学を一言で

Claude Code が CLI で来たのは、既存の道具全部と仲良くできるから。「黒い画面の中にいる」のは制約じゃなくて、そこが一番強い場所だから

↑ 目次へ戻る

07主要なCLIツール

ツールカテゴリ役割
gitバージョン管理コードの変更履歴を記録
npmパッケージマネージャ必要なライブラリを集める
dockerコンテナ管理アプリを「どこでも動く箱」に詰める
wranglerクラウド管理CLICloudflare専用の操作ツール

git(ギット)

コードファイルの変更履歴を1行単位で記録するツール。誰がいつ何をどう変えたかが全部残る。2005年にLinus TorvaldsがLinux開発のために作った。今や世界中のソフトウェア開発の標準。

重要な区別 git は「履歴を作る道具」、GitHub は「その履歴を置く場所」。混同されがちやけど別物。git は手元で動くCLIツール、GitHub はMicrosoftが運営するクラウドサービス。

npm(エヌピーエム)

JavaScript用のパッケージマネージャ(Node Package Manager)。「使いたいライブラリ名を指定すると、自動でダウンロードして組み込んでくれる」仕組み。

npm install dayjs   ← 日付処理ライブラリをインストール

訪問記録APPの中の package.json に、使っとるライブラリ一覧が書かれとる。Supabase連携、React、地図表示、CSV出力 ── 全部、誰かが作って npm に公開したライブラリ。

本質的な事実 Yuzo のアプリは、自分で書いたコード(実は少しだけ)+ 他人のライブラリ(大半)で出来とる。これは恥ずかしいことじゃなくて、現代のソフトウェア開発はみんなそう(「車輪の再発明をしない」)。

docker(ドッカー)

アプリを「どこで動かしても同じように動く箱(コンテナ)」に詰めるための道具。

「うちのPCでは動いたのに本番サーバーでは動かん」という伝統的な悩みを解決する。アプリと、それを動かすのに必要な環境一式をコンテナに閉じ込めて、丸ごと運ぶ。

Yuzoの現状 まだ直接触っとらん。SupabaseもCloudflareも「サーバー管理は俺らがやるから、コードだけ送ってきな」という思想(サーバーレス)。Dockerは大規模化や独自サーバー運用するときに出てくる。今は名前を知っとくだけでいい。

wrangler(ラングラー)

Cloudflare専用のCLIツール。Yuzoがおととい Cloudflare に引っ越したばっかりやけん、これからお世話になる。

できること:

Claude Code がデプロイするときに、裏で wrangler deploy を叩いとる可能性が高い。Yuzo が直接 wrangler を打たんでも、Claude Code 経由で動かしとる。

ちなみに Vercel にも同じような CLI(vercel コマンド)がある。各クラウドサービスは自社専用のCLIをそれぞれ提供しとる。

↑ 目次へ戻る

08クイックリファレンス

Yuzo のスタック現状

開発アシスタントClaude Code
ソースコードGitHub
バックエンド/DBSupabase
ホスティングCloudflare(訪問記録APP)/ Vercel(釣行管理APP)
MCP未導入(最優先:Supabase MCP)

3つの記憶層(再掲)

誰が書くかスコープ
CLAUDE.md自分で書くグローバル / プロジェクト / ローカル
Auto MemoryClaudeが自動プロジェクト
Session MemoryClaudeが自動プロジェクト(要約)

5層 × 集約原則

同層は判断
同じ層のサービス競合1〜2個に絞る(集約)
違う層のサービス補完全部いる
MCPサーバー補完使うサービスのだけ追加

CLIツールの使い分け

ツール用途Yuzoの利用
git履歴管理毎日(Claude Code経由)
npmライブラリ管理常時(アプリ内で動作)
dockerコンテナ未使用
wranglerCloudflare操作開始したばかり
↑ 目次へ戻る