脱・属人プログラム — 学習ノート

AIの記憶のしくみと、
第二の脳のつくり方

— 記憶・バックアップの整え方から、APIキーとセキュリティの守り方まで

Claude Codeは何をどこに覚えているのか。消えない置き方、Keep・Notion・Drive・GitHubの使い分け、そして .env/deny封印/パスワード金庫によるAPIキー保護まで——非エンジニアのための整理ノート。

2026.07.05 作成 / 実際の環境(Windows+Claude Code)を例に

この話の結論(3つだけ)
  1. 正本(マスター)は「ただのテキスト=Markdown」で持つ
    どのAI・どのアプリでも読める。特定サービスと運命共同体にならない
  2. PCの外にコピーを持つ(Private GitHub)
    壊れても消えない。履歴が残るので「消して後悔」もない
  3. 入力はラクな場所でいい。面倒な転記・整理はAIの仕事
    スマホで頑張ってMarkdownを書く必要はない

第1章

記憶の正体 — ただのテキストファイル

Claude Codeの「メモリ(記憶)」は、特別な仕組みでも、AIの脳内でもありません。PCのフォルダに入った、ただの文章ファイルです。だから自分の目で開けるし、直せるし、消せます。

まず「.md」とは何か

ファイル名の末尾につく「種類ラベル」(拡張子)です。見慣れたものと同じ仕組み:

拡張子中身
.docxWordの文書
.xlsxExcelの表
.jpg画像
.mdただの文章ファイル(メモ帳でも開ける。「#を付けたら見出し」等の簡単な記号ルール=Markdownで書く)

フォルダとファイルの関係(最重要の基礎)

フォルダ=入れ物(箱)、ファイル=中身そのもの。ファイルの中にファイルは入れられません。記憶フォルダの中身はこうなっています:

memory フォルダ(引き出し) ├─ MEMORY.md ←目次(索引)。毎回まず最初に読む1枚 ├─ user_profile.md ←メモ本体(必要なときだけ開く) ├─ feedback_script_style.md ←メモ本体 └─ …メモは全部で60枚以上(増え続ける)

図1|フォルダの中身 — メモの紙が並んでいるだけ

MEMORY.md という1枚の紙に書いてある文章: - user_profile.md — 非エンジニアのコンテンツクリエイター… - feedback_script_style.md — 動画台本のスタイルガイド - reference_claude_config_backup.md — バックアップの場所と復元方法 …(1メモ=1行、が62行)

図2|そのうち1枚(MEMORY.md)の中身 — ただの箇条書き

図2の各行はただの文字です。ファイル名を「文字として」書いてあるだけで、ファイル本体は図1のとおり隣に並んでいます

たとえるならクラス名簿。名簿(MEMORY.md)は1枚だけで、生徒(メモ)が60人以上。名簿に「田中」と書いてあっても、田中さん本人が名簿の中にいるわけではない。

「MEMORY.md」だけは特別な1枚

62枚のメモは全部が対等ではありません。「MEMORY.md」という名前のファイルだけは特別で、Claude Codeにはチャットを始めるたびに、この1枚を必ず最初に読むという決まりがあります。中身は図2のとおり「どのメモに何が書いてあるか」の一覧=受付案内(索引)

AIはまずこの案内を読み、今の話題に関係するメモ(.md)だけを本棚(memoryフォルダ)から選んで開きます。残りの何十枚は、案内を見て必要になったときだけ開かれる——つまりMEMORY.mdは「どのファイルを読むべきかを教えるメモ」です。

仕様の補足本来この索引は「起動したフォルダごと」に別々のものが読まれます(→第4章)。ただしあなたの環境は設定で一本化済みなので、どのフォルダからClaude Codeを開いても、同じ MEMORY.md が読まれます

読み込みは「二段構え」— だから燃費がいい

AIは新しいチャットを始めるたびに目次(索引)だけを自動で読み、話題に関係するメモの本文だけをその都度開きます。

いつ読む何を量の目安
毎チャット開始時索引(MEMORY.md)だけ約70行=全体のわずか数%
必要なときだけ関係するメモの本文1〜数枚

この設計のおかげで、メモが増えても毎回のコスト(トークン=AIの読み書き量)はほぼ一定に保てます。ただし放っておくと劣化するので、運用ルールは3つ:

ルール理由
1テーマ=1ファイル、索引は1行厳守索引に本文を書くと毎回全部読むことになる
新テーマなら新ファイル、続きなら既存に追記追記なら索引の行数(=毎回のコスト)が増えない
索引が100行に達したら掃除点検行数より「死んだメモ(解決済み・期限切れ)」の混入が害。100は上限でなく点検アラーム

第2章

2種類の記録 — AIの手帳と、現場の作業ファイル

「メモリ」と「各プロジェクトフォルダの中の記録」は役割がまったく違います。

メモリ(AIの手帳)プロジェクト内の記録
中身あなたの好み・注意されたこと・各仕事が「どこにあって今どうなってるか」の要点その仕事の詳細・正本(価格、手順、進捗の全部)
いつ読む毎チャット開始時(索引)そのフォルダで作業するとき
誰のためAIが「前回までのあなた」を思い出すためフォルダを開いた人なら誰でも
たとえ持ち歩く手帳各現場に置いてある作業ファイル

実例:テンプレ販売の場合、メモリ側には「商品化が進行中。詳細はリポジトリのPRODUCT_PLAN.mdを必ず確認」と書いてあります。つまりメモリは場所を指す付箋で、本体は現場(プロジェクトフォルダ)にある。新しいチャットで「あの件の続きやろう」と言われたAIは、まず手帳(付箋)で思い出し、現場のファイル(本体)を開いて作業する——という流れです。

※もう1つ「CLAUDE.md」という記録もあります。これはあなたが書くルール(職場に貼る就業規則のようなもの)。メモリはAIが書く記録。どちらもただの.mdです。CLAUDE.mdの置き場所は2段——全案件で効かせたい普遍ルールは`~/.claude/CLAUDE.md`(=コーポレートの社則・どこでも効く)、その案件だけのルールは各プロジェクトの`CLAUDE.md`(=現場ルール)。一部だけ共有したい時は各プロジェクトから@importで共通ファイルを読み込む。なおCLAUDE.mdが長くなったら(目安200行超)、詳細は別ファイルに出して本体には「◯◯の時は△△.mdを読む」と一言リンクだけ書くと薄く保てる(=MEMORY.mdの索引と同じ考え方・必要な時だけ読まれる)。@importは共有・重複排除用で、中身は毎回読み込まれる点だけ別物。なお@importClaude Code専用の記法(他のAIでは効かずただの文字列)。Codex等でも同じリポを使うなら、①の"普通の文章ポインタ"の方がツール非依存で安全

第3章

置き場所の設計 — 作業場と道具箱を分ける

記憶フォルダは C:\dev\(作業場)の中ではなく、C:\Users\<ユーザー名>\.claude\ にあります。これは意図的な分離です。

場所役割たとえ
C:\dev\あなたの作業場。プロジェクト・制作物仕事場の机
C:\Users\…\.claude\Claude Codeの道具箱。設定・記憶・スキル職人の道具箱
たとえるなら動画編集ソフト(CapCutなど)。書き出した動画は自分の動画フォルダに保存するけれど、ソフト自身の設定・お気に入り・作業履歴は、ソフトが勝手に自分の置き場にしまう。あなたが保存先を選ぶのは「成果物」だけ。Claude Codeも同じで、成果物は dev、AI自身の設定・記憶は .claude に分かれる。

なぜ全部 dev の下にせず、.claude に分けるのか(シンプルに)

一言でいうと 「コーポレート(会社全体の共通資産・社則)と、各事業部(現場ごとの実務)を分ける」のと同じです。

たとえ場所中身
コーポレート~/.claude\全社共通の記憶・スキル・共通ルール(社則)。どの現場にも持っていく
各事業部c:\dev\各プロジェクトその案件のコード・.env・現場専用ルール。終われば片付ける

分ける理由は3つ:

  1. そもそもClaude Codeがそういう作り~/.claude はClaude自身の「家」で、どのフォルダから起動しても必ず最初に読む。だから"どこでも効いてほしい共通のもの"の指定席がここ。
  2. 巻き添え事故を防ぐ:プロジェクトは増減・引っ越しする。記憶をその中に置くと消した瞬間に頭脳ごと消える。分ければ作業場をいくら片付けても頭脳は無傷。
  3. 効く範囲(スコープ)で仕分けできる~/.claude=全案件に効く(日本語で返答・.env禁止)/各プロジェクト=その案件だけ。置き場所を変えるだけで"全体ルール"と"案件ルール"が自然に分かれる。

混ぜると事故ります:「プロジェクトごと消したらAIの記憶も消えた」「制作物のリポジトリにAIの設定が紛れ込んだ」。成果物と道具は別の場所——これが原則です。

第4章

ノートを1冊にする — 記憶の一本化

仕様:記憶は「起動フォルダごと」に別ノート

Claude Codeは「どのフォルダで起動したか」を仕事の単位とみなし、フォルダごとに別々の記憶ノートを作ります。起動フォルダのパスがそのままノートの名前になります:

c:\dev\claude で起動 → 記憶は projects\c--dev-claude\memory\ へ c:\dev で起動 → 記憶は projects\c--dev\memory\ へ ←別ノート! ※「c--dev-claude」は「c:\dev\claude」の記号をハイフンに置き換えただけの名前

エンジニアには合理的です(A社案件の記憶をB社案件に持ち込まない)。しかし個人が自分の事業で使うと、起動フォルダは日によって変わるので——「昨日教えたのに、今日は忘れてる」が起きます。忘れたのではなく、別のノートに書いてあるだけ

たとえるなら現場ごとに別のノートを持たされている新人。現場Aで教わったことは、現場Bのノートには書いていない。真面目にメモしているのに「忘れた」ように見える。

解決策:設定1行で「ノートは1冊」

C:\Users\<ユーザー名>\.claude\settings.json に1行足すだけです:

{ "autoMemoryDirectory": "~/.claude/projects/c--dev-claude/memory" }

意味は「どこで起動しても、記憶はこの1か所に書け」。実際、私たちの環境でも記憶が3か所に散らばりかけたため、この設定で一本化しました。すでに散らばっている場合は、各フォルダの.mdを集約先に移せばOK(AIに頼めばやってくれます)。

正直な注意一本化したのは「道具箱の中の記憶ノート」だけで、第3章の「作業場と道具箱の分離」はそのまま維持します。また、無関係な複数クライアントの案件を扱う人は、分けたまま(標準仕様)が正解のこともあります。

第5章

消えない仕組み — GitHubバックアップ

原則:「PCの外にコピーが1つ」あれば防災は成立

「PCが壊れたら終わる」問題の解決策は、場所を変えることではなくPCの外に複製を持つこと。その置き場としてGitHub(Privateリポジトリ・無料)を使います。記憶フォルダ自体がGitの管理下にあり、「プッシュ」すればGitHubに写しが送られます。

たとえるなら宅配便。.mdファイル=荷物(これが送られる本体)、.gitフォルダ=配送伝票と履歴台帳(何をいつ送ったか・送り先)、GitHub=倉庫。「.gitだけがバックアップされる」のではなく、荷物(メモ全部)が倉庫に届く。

GitHubが同期サービスより強い理由:履歴

同期(Obsidian SyncやiCloud)は「今の状態」を写すだけなので、誤削除も同期されます。GitHubは履歴が全部残るので、3年前の状態にも戻れる。だから掃除(メモの削除)を気軽にやれる——消しても戻せるからです。

「ロックイン」を避ける=乗り換え自由でいる

ロックインとは、データがそのサービス専用の形になって離れられなくなること。数百ページ貯めた後では引っ越しが大仕事になり、値上げや仕様変更に従うしかない立場になります。ChatGPTやClaudeアプリ内蔵の「メモリ機能」も同じで、中身を持ち出せないので正本にしてはいけません

逆にMarkdownの記憶は他のAIにもそのまま引き継げます。たとえばCodexなら設定ファイル(AGENTS.md)に「最初にこの索引を読め」と1行書くだけ。中身(資産)は持ち運べて、仕組み(自動読み込み)だけツールごとに1行設定する——これが「正本はMarkdown」の実利です。

第6章

保存先の使い分け地図

判定は1問:「AIに管理・編集までさせたいか」

サービス役割のたとえAIから読み書き向いているもの
Google Keep受信箱✕ 読めない(Docsにコピーすれば読める)スマホで秒メモ
Notion書類棚○ 読み書き可(ロックイン気味)整理された情報・DB
Google Drive資料置き場△ 読める・既存の編集は不可議事録・PDF・完成品の資料
NotebookLM読書室—(保存場所ではない)資料を読ませて質問・要約
GitHub+Markdown正本の保管庫◎ 読み書き・整理・履歴すべて育て続ける自分の知識

直感的な言い換え:「これは資料か、自分の脳の一部か」。資料はDrive、脳の一部はGitHubへ。今Driveで回っているもの(議事録など)は引っ越し不要です——AIはDriveも読めるので。

「GitHubを Drive 代わりにできる?」— 大物はNG

GitHubはテキストなら実質無制限。だから「動画やデザインもここに置けば?」と思いがちですが、大きいファイルには向きません。理由は仕組みにあります。

GitHubが苦手なぜ
大きいファイル1ファイル100MB超で拒否(50MBで警告)。動画1本で簡単に超える
消しても軽くならないGitは全履歴を永久保存。テキストなら「消しても戻せる」が長所だが、動画やPSDだと削除しても履歴に残り続けてリポジトリが太る一方
閲覧・共有プレビュー・共有リンク・スマホ閲覧はDrive/Dropboxが圧倒的に上

つまりテキストの"脳"はGitHub、大物の"倉庫"はDrive。1つにまとめようとせず、役割で分けるのが正解です。

データ置き場所
メモ・ナレッジ・台本・契約書テンプレ・コードGitHub(第二の脳)
動画・録画素材・デザインデータ・大きいPDFGoogle Drive(倉庫)

100MB上限の目安:Markdownメモ=数千〜数万本/スクショPNG=30〜200枚/スライドPDF=5〜50個/音声1分=約1MB/動画は1分ほどで上限超え(文字は無限・画像OK・音声ギリギリ・動画は一発アウト)。※「1GB推奨」等は1リポジトリごとで、アカウント全体に上限はなく、リポジトリは無制限に作れる。なお公開/非公開は選べ、メモは必ずPrivate(Public=オープンソースは"世界に公開する"意図的な選択で、企業やSaaSの製品コードは大多数がPrivate)。

NotebookLMとの仕組みの違い(RAGとまるごと読み)

方式動き得意・不得意
NotebookLM(RAG)司書が「意味が近いページのコピー数枚」を持ってくる何万件でも速い/細切れなので文脈が切れる・計算は苦手・ソース数はプラン上限あり・ノートブック間の横断不可
Claude Code方式助手が本棚を自分で漁り、必要なファイルをまるごと読む文脈が濃い・常に最新・事前準備ゼロ/読む量だけトークンを使う

メモ数千ファイル程度まではClaude Code方式で十分。個人の第二の脳の規模でRAGの出番はまずありません。

表・数字データはどうする?

形式相性
スプレッドシート人間が日常的にいじる表の圧勝(計算式・グラフ・共同編集)。ただしPC上にファイルが無いのでGitHubには入らない
CSVGitHubと最高の相性。ただの文字なので履歴で「どの行が変わったか」まで見え、AIが集計・分析できる
Excel(.xlsx)保存はできるが「ただの荷物」扱い(履歴の中身が見えない)

Obsidianの正しい位置づけ

Obsidianは「保存場所」ではなく閲覧・執筆アプリです。GitHub=倉庫(保管と履歴)、Obsidian=机(同じフォルダを快適に読み書きするメガネ)——競合せず、併用できます。AIに読み書きさせるだけなら不要。「自分の目で眺めたい・つながりを地図で見たい」と思った日に、今のフォルダを指定して入れるだけです。

正直な注意Obsidianのスマホ⇔PC同期は有料(月数百円)か、壊れやすい無料の工作が必要。秒メモの速さはKeepが上。メモの流量が少ないうちは急いで導入する必要はありません。

大物を"脳"につなぐ — 栞(しおり)テク

PDF・パワポ・エクセル・動画は、AIが中身を読みにくく、検索にも引っかからず、リンクも付けられない——せっかくの資料が"脳の外"に取り残されます。そこで、その資料1つにつきMarkdownを1枚だけ添える。中身は「要約+タグ+元ファイルへのリンク」。これだけ。

得られることなぜ
AIが"要約だけ"読めば把握できる重いPDFを毎回全部読ませずに済む(=入力トークンの節約にも直結)
検索に引っかかるPDF本体は出てこなくても、栞のテキストはGitHub検索でヒット
つながりに載るタグ・リンクを書いたので関連資料から辿れる

位置づけは「大物はDriveに置き、GitHubには栞(テキストの目印)だけ残す」——上の"テキストの脳=GitHub/大物=Drive"の橋渡しです。環境をいじる必要はゼロ、遡って全部やる必要もない。「AIに見つけてほしい大事な資料が出てきた時だけ」1枚添えるで十分。

よくある誤解「リンクを貼れば、AIがその先のファイル(Driveのスライド等)の中身を読める」——読めません。リンクはただの文字=人間が元ファイルに飛ぶための目印にすぎず、AIが読むのはあなたが書いた"要約テキスト"の方。だから栞の本体は要約で、リンクはおまけ。=「AIに読めない重い資料を、読めるテキストに変換して置く」のが栞テクの本質です。(例外:ローカルのPDFはある程度読める/Drive等も専用連携[MCP]を繋げば読めることはあるが、それは"リンクを踏む"のとは別の特別な仕組み。栞テクは連携ゼロでも効くのがミソ。)

さらに上級(必要になったら足す2つ)

土台(GitHub+Markdown+索引)だけで第二の脳は十分に成立します。以下はFOMOで積み上げないのがプロの運用——複雑さと事故リスクを足すからです。

オプション何が良くなるいつ
グラフ(Obsidian等)メモ同士のつながり・迷子メモ・得意/手薄が"見える"探すのが面倒になってから(線は手で [[リンク]] を書いて初めて増える)
AI記憶(basic memory 等のMCP)索引すら指定せずAIが関連する過去を自動で思い出す後回し・上級。数千枚規模から。古い記憶を勝手に持ち出す"自己汚染"リスクあり

今の数十〜数百メモの規模では、手入れした索引(MEMORY.md)方式の方がむしろ制御が効いて優秀。足すなら栞テクだけが"今すぐ"価値が高い(環境変更ゼロ)。

第7章

毎日の運用 — 第二の脳を育てる

入力・保存・転記の役割分担

工程やり方ポイント
入力一番ラクな場所で(Keep等)思いついた瞬間の摩擦は、思いつき自体を殺す。3秒で書けることが正義
転記・整理AIの仕事KeepならまとめてGoogle Docsにコピー→AIがDrive経由で読んでMarkdown化→GitHubへ
保存(正本)Markdown+GitHub開いた形式・履歴つき・AIが読み書きできる

頻度は流量次第。週1の定期作業は流量が増えてからで、最初は「溜まったなと思ったとき」のトリガー式で十分です。仕組みを作りすぎないこと。

「ほぼ放置」でも回る理由 — 覚えておくことをゼロにする

掃除・転記・バックアップを「あなたが覚えておく作業」にしないのがコツ。中でもバックアップは"手でプッシュし忘れる"のが唯一にして最大の穴です。ここを自動化すれば、第二の脳は本当に放置で守られます。土台は「AIに読ませられる開いた形式で貯め続ける習慣」——道具選びより、この習慣が本体です。

バックアップの自動化 — OSのスケジューラに任せる

やることは「メモに変更があれば自動でGitHubへ送る」だけ。これをOSの定期実行機能(Windowsはタスクスケジューラ/Macはlaunchd/Linuxはcron)に、小さなスクリプトを登録して任せます。肝はアプリを1つも開いていなくてもOSが実行すること。ノートアプリ(Obsidian等)のプラグインは"そのアプリを開いている間だけ"なので、放置には向きません。

設計判断採用理由
間隔2時間ごと変更が無ければ何もしない=無駄なし。最悪でも2時間分しか失わない
対象*.md だけ「git add .」を使わない=.envや鍵が構造的に混入しない
ログ失敗だけ記録成功はGitHubのコミット履歴に残る。普段はログ空=順調の合図
気づき失敗時にデスクトップへ旗非エンジニアが一目で異常に気づける

OS cron と AI cron — 「判断が要るか」で使い分ける

定期実行には2種類あり、混同しがちです。線引きはシンプル:

OSのスケジューラ
(cron / launchd / タスクスケジューラ)
AIのcron
(Claude等を定期起動)
向く仕事判断が要らない決まった処理
バックアップ・同期・掃除
頭を使う処理
ニュース要約・議事録整理・下書き
コスト無料(スクリプトを走らせるだけ)毎回AI起動=トークン消費
依存OSが常に実行AIツールの起動が前提

だからバックアップはOSのスケジューラ、AIニュース日次ダイジェストのような頭を使う自動化はAIのcron。同じ理由でコードは手動コミット(意味ある単位で・壊れた状態を上げない)/メモはタイマー自動——この分け方は「自動対象のフォルダにメモだけを入れ、コードは入れない」だけで実現します。

今日の教訓自動バックアップを組むに、「守るべきメモが別フォルダに散らばっていないか」を必ず確認する。一本化したつもりでも、過去に別の場所で作ったメモが取り残されていることがある(実際、正本の外に数枚見つけて回収した)。自動化は"対象に入っているものしか守らない"——だから対象の棚卸しが先。

※この仕組みづくり自体が、講座の最初の課題としても機能します。「作りたいものがまだ無い」人でも、全員に確実に資産が残り、以降どのメモアプリを使っていても「いつでもClaude Codeで呼び出せる状態」になるからです。

第8章

実例 — 私のPCとGitHubの全体図

ここまでの話を、実際の環境(2026年7月時点)でそのまま見せます。左がPCの中、右がGitHub上のバックアップ先という対応です。

全体マップ

【PCの中】 【GitHub(すべてPrivate)】 C:\dev\ ─── 作業場(共有資産) ├─ knowledge-datsu-zokujin\ ナレッジ → 各リポジトリ ├─ knowledge-shukatsu-candy\ → 各リポジトリ ├─ api-keys\ 旧・平文の鍵置き場(廃止) → 鍵はBitwarden+各.envへ移行・削除済 ├─ auto-backup-secondbrain.ps1 自動バックアップ道具 → ローカルのみ(OSが2hごと実行) └─ claude\ ─── ブランド運用プロジェクト ├─ datsuzokujin-program-curriculum\ → datsuzokujin-program-curriculum ├─ short-cut-movie-generator\ → 各プロジェクトのリポジトリ ├─ heic-converter\ → 各プロジェクトのリポジトリ └─ … C:\Users\110ry\.claude\ ─── 道具箱 ├─ settings.json 設定(allowに鍵が紛れ得る)上げない(ローカルのみ)/deny控えは↓skillsへ ├─ skills\ 自作スキル+config-snapshot.md → claude-skills-backup (2hごと自動) └─ projects\c--dev-claude\ └─ memory\ AIの記憶(一本化済) → claude-memory-backup (2hごと自動)

図3|全体対応図 — 「何がどこにあり、どこに写しがあるか」

※ memory / skills の「2hごと自動」は、C:\dev の auto-backup-secondbrain.ps1 をOSのタスクスケジューラが定期実行して実現(第7章)。失敗した時だけデスクトップに警告が出る。

「保存済み / 未保存」を一目で(道具箱=.claude直下)

.claude直下そのものは.gitではありません。バックアップされているのは中の skills\ と memory\ が"それぞれ別リポジトリ"だから。=入れ子構造です。

C:\Users\110ry\.claude\ ← ここは .git じゃない(直下は未保存) ├─ settings.json ✕ 未保存 生ファイルは上げない(allowに鍵が紛れ得る) │ └─ deny規則の控え ✓ 確保 → skills内 config-snapshot.md ├─ .credentials.json ✕ 上げてはいけない 認証トークン=生の秘密 ├─ skills\ ✓ 別リポ(.git) → claude-skills-backup └─ projects\c--dev-claude\memory\ ✓ 別リポ(.git) → claude-memory-backup

図3.5|.claude直下の保存状況 — 未保存なのは実質 settings.json だけ。その"核(deny規則)"は控えで確保済み。

気づき当初は settings.json を丸ごと未保存にしていたが、PCが壊れると封印(deny規則)ごと消えるのは脆い。かといって鍵が紛れやすい生ファイルを同期するのも危険。解="核の20行(deny+hooks+主要設定)"だけを手書きの控え config-snapshot.md に残す(skillsリポに手動コミット)。丸ごと同期でも丸ごと放置でもない中間が正解。

なぜこの形なのか(理由の対応表)

設計理由
devと.claudeを分ける成果物と道具の分離。プロジェクト削除で記憶が消える事故を防ぐ(第3章)
記憶はc--dev-claudeに一本化起動フォルダごとに散らばる仕様への対策。設定1行(第4章)
バックアップ先を3系統に分ける記憶=claude-memory-backup/スキル=claude-skills-backup/事業の知識・制作物=各プロジェクトのリポジトリ。役割が違うものは箱も分ける
settings.jsonと.env/鍵は上げない鍵・認証情報はGitHubに絶対に置かない(Privateでも)。鍵の大元はBitwarden、実働は各.env(.gitignore済)
教材・ナレッジは1ファイル=1トピック記憶フォルダと同じ型。索引・リンク・追記優先の運用がどこでも効く

記憶フォルダの実物

C:\Users\110ry\.claude\projects\c--dev-claude\memory\ ├─ MEMORY.md ←索引(約70行・毎チャット自動で読む) └─ メモ ×60枚超 (合計でもわずか約700KB=写真1枚の5分の1) MEMORY.md の実際の中身(抜粋): ## User - user_profile.md — 非エンジニアのコンテンツクリエイター、CLI学習中 ## Reference - reference_claude_config_backup.md — バックアップの場所・復元・他AIへの流用手順 ## Feedback - feedback_memory_maintenance.md — メモリ運用ルール(索引100行で掃除点検…) ## Project - project_short_video_template_sales.md — ショート動画テンプレの商品化プラン…

図4|索引の実物 — User/Reference/Feedback/Projectの4分類

メモ1枚の実物(ラベル部+本文の2階建て)

--- name: feedback-memory-maintenance ←識別名 description: メモリ自体の運用ルール(索引100行で掃除点検…)←1行要約 metadata: type: feedback ←種類 --- ユーザーと合意したメモリ運用ルール(2026-07-05)。 - 索引が100行に達したら、死んだメモの掃除点検を提案する - 新規ファイルより既存の関連ファイルへの追記を優先し、 索引の行数=毎チャットの読み込みコストを増やさない Why: 索引は毎チャット読み込まれるため、行数がそのまま常時コストになる。 How to apply: 保存時にまず既存ファイルへの追記を検討してから新規作成を判断。

図5|メモの実物 — 「何があったか+Why+How to apply」の型

第9章

APIキーの守り方 — 3つの別々の問い

「サーバーに鍵が行くのが気になる度」と「Bitwardenを使うか」は、実は別々の軸です。混ぜると混乱するので、APIキーの守りは3つの独立した問いに分けて考えます。

問い0:全員・無条件の最低ライン(土台)

下のどれを選んでも必ずやる共通の土台。ここだけで実際の事故の大半(GitHub流出・画面への映り込み)を防げます。①gitに上げない(.gitignore)/②チャットに鍵を貼らない/③従量課金の鍵は使用上限・予算アラート/④画面録画・共有に映さない。

問い1:AI(チャット→サーバー)に鍵を"見せる"か?

AIに見せた物はサーバーを通ります(第5章)。それをどう扱うか:

ラク版(既定)厳しめ版
やることAIが必要なら .env を読んでOKdenyで .env を封印+設定は config に分離。AIは鍵を一度も見ない
鍵はサーバーに行く?通ることがある行かない
向く人一人・低リスクな鍵(無料枠等)撮影/配信する人・お金が動く鍵

問い2:鍵を"どこに保管"するか?(問い1とは別の軸)

ローカル平文(.txt/メモ帳)暗号化金庫(Bitwarden無料〜/1Password)
中身手軽暗号化・クラウド同期でバックアップ兼用・共有/失効できる
弱点平文・PC故障で消える・共有/失効できない・属人化ほぼ無い

3つは直交している(自由に組み合わせられる)

問い1(見せる/見せない)と問い2(ローカル/金庫)は独立。掛け合わせの4象限:

保管=ローカル.txt保管=金庫
AIに見せる(ラク)手軽だが保管が脆い(低リスク鍵+問い0が前提なら可)手軽さ+バックアップ+脱属人。多くの人の現実解
AIに見せない(deny)鍵は守れるが保管が脆く釣り合いが悪い最も堅い。撮影する人・お金が動く鍵・企業
あなたの現在地(2026-07更新)もともとは「ローカル.txt × AIに見せる」(左上)でしたが、いまは「金庫(Bitwarden)× AIに見せない(deny)」=右下の最も堅い象限に到達済み。13鍵をBitwardenへ移し、平文金庫フォルダ(旧 c:\dev\api-keys)は削除、settings.jsonのdenyで.env等をAIから封印しました。残る最後の仕上げは問い0の「使用上限・予算アラート」(従量課金キーのみ)だけです。

第10章

deny封印のしくみ — AIに秘密を読ませない

第9章「問い1」の"厳しめ版"を、もう一段だけ詳しく。deny(ディナイ)は、AIに .env などの秘密ファイルを読ませないための、一番強い設定です。

権限は3階層。denyは最強の壁

リスト意味強さ
allow毎回聞かずに実行してよい
(どちらにも無い)その都度あなたに確認する
deny何があっても実行禁止最強

denyの決定的な点:会話中に「OK」と言っても覆せない。手動承認より上位の、絶対的な壁です。

どこに書くか

~/.claude/settings.json └─ "permissions": { "allow": [ …毎回聞かずOKなもの… ], "deny": [ …絶対禁止… ← ここに秘密ファイルの読み取り禁止を足す ] }

書き方の読み方

Read(**/.env) ├─ Read … ファイルを読むツール(=AIが中身を見る動作) ├─ ** … フォルダが何階層深くても └─ .env … その名前のファイル → 「どこにある .env でも、AIに読ませない」

何を止めて、何を止めないか(核心)

.envを読む場面denyの効果
チャットのAI(=Claude)会話中にReadで中身を見る止まる(秘密がサーバーに行かない)
プログラム(node …)実行時にdotenvで.envを読む止まらない(別人なので)

だから動画生成などの自動化はそのまま動く。止まるのは「AIが覗く」動作だけ。秘密でない設定は config に逃がしてあるので、AIも困りません。

足す行(既存は消さず追記)

"Read(**/.env)", "Read(**/.env.*)", "Edit(**/.env*)", "Read(**/*.pem)", "Read(**/*.key)", "Read(**/credentials*.json)"
安心材料settings.json は GitHubバックアップ対象外なので、変更しても外には何も出ません。変更はローカルのみで、足した行を消せば完全に元通り。動作確認は動画を作らず「.envが実際にブロックされるか」を軽く見るだけです。

いつ・どう設定するか(手順)

denyは"全員が初日にやること"ではありません。「守るべき鍵を実際に扱い始めた段階」で導入します。最初から全員に課すと難しくて詰まるので、下の合図が出るまではラク版(AIが.envを読める)のまま学ぶのがコツ。

段階状態denyは?
Day1〜学習中まだ本物の鍵を扱っていない/無料枠中心不要(最低ラインだけでOK)
合図が出たら①画面録画・配信 ②お金が動く鍵 ③お客様データ ④会社の規定導入する

事前準備(封印前に3点チェック)

1. 鍵は .env に入っている(コードに直書きしていない) 2. .env は .gitignore で除外されている 3. .env に "秘密でない設定"(モード名等)を混ぜていない └ 混ざっていると封印後にAIが読めず不便 → config.json 等へ逃がす (不安なら封印にAIへ「.envに秘密以外の設定が入ってないか確認して」)

設定はAIに頼むのが一番かんたん(コピペ可)

~/.claude/settings.json の permissions.deny に、秘密ファイルの 読み取り禁止を追記して。既存の deny は消さないこと。まず settings.json を バックアップし、追記後に JSON が壊れていないか確認して。追記する行: "Read(**/.env)", "Read(**/.env.*)", "Edit(**/.env*)", "Read(**/*.pem)", "Read(**/*.key)", "Read(**/credentials*.json)"

確認:AIに「うちの.envを読んでみて」と頼み、「ブロックされる/読めない」と返ればOK。反映されなければ Claude Code を再起動。

第11章

キーの通り道 — マスターから実行まで

APIキーを金庫(Bitwarden等)に移すと「キーは金庫だけにある」と思いがちですが、正確には2か所にあります。ここを誤解すると、片方を消して自動化を壊します。

2つの層(マスターと実働コピー)

実体役割誰が読む
マスターBitwarden(暗号化金庫)大元・調べる場所・バックアップあなた(人間)
実働コピー各プロジェクトの .env(KEY=値)プログラムが実行時に読むプログラム

流れ

Bitwarden(マスター) │ 新規プロジェクト作成/キー更新のとき、あなたがコピペ ▼ 各プロジェクトの .env GEMINI_API_KEY=xxxx ← gitに上げない+denyで封印 │ 実行時にプログラムが自動で読む ▼ node scripts/… が動く(自動化はそのまま)

だから「渡し方」は今までと同じ.envに直書き。変わるのは調べる場所が .txt から Bitwarden になるだけ。新しい習慣は「新規/更新のとき、値をBitwardenからコピーして .env に貼る」1つだけです。

今日学んだ教訓(重要)共有の"金庫フォルダ"を消す前は、「それを直接読んでいるコードが無いか」を必ず確認する。実際に調べたら、常用プロジェクトは全部それぞれの .env から読んでいて安全だったが、一部の使い捨てスクリプト(n8n関連)だけは金庫を直接読んでいた——これらは消す前に「もう使わないと確認」か「.env読みに書き換え」が必要。自分で作ったのでない/中身を確認していないものは消さない、が鉄則です。

付録

用語ミニ辞典

拡張子(.md .docx など)
ファイル名の末尾につく「種類ラベル」。.mdはただの文章ファイル。
Markdown
「#を付けたら見出し」等のかんたんな記号ルールで書く文章形式。どのアプリ・どのAIでも読める。
リポジトリ
GitHub上の「プロジェクト1個分の保管箱」。履歴ごと保管される。Private=自分だけが見られる。
プッシュ
PC側の変更をGitHub(倉庫)へ送ること。これがバックアップの実行にあたる。
索引(MEMORY.md)
メモの目次ファイル。1メモ=1行。毎チャット開始時にAIが自動で読む。
トークン
AIの読み書き量の単位。読む文章が長いほど消費する=燃費の正体。
RAG
文書を細切れにして「意味が近い断片」だけAIに渡す検索方式。NotebookLMがこの系統。
ロックイン
データがサービス専用の形になり、離れられなくなること。正本を置く場所では避ける。
正本(マスター)
いちばん信頼できる大元のデータ。ここではMarkdown+GitHubに置く方針。

付録

このノートに対応するカリキュラム教材

各章の"教える版"は、脱・属人プログラムのカリキュラム(datsuzokujin-program-curriculum リポジトリ・Private)の次のファイルにあります。このノートは自分の理解・思い出し用、下記は受講者に教える用という役割分担です。

このノートの章対応する教材ファイル
第1〜2章 記憶の仕組み/手帳と作業ファイルsetup/claude-code/メモリとCLAUDEmdの違い.md
第3〜4章 置き場の設計/記憶の一本化setup/claude-code/記憶がフォルダごとに分かれる仕組みと一本化.md
第5〜6章 バックアップ/保存先の使い分けsetup/github/メモ・バックアップとして使う.md
第7章 第二の脳を育てる(受講者課題)curriculum/課題例_GitHubを第二の脳にする.md
第9章 全体像(3つの軸)setup/claude-code/APIキーの守り方_3つの軸.md
第9章 問い1(AIに見せるか)setup/claude-code/AIに見せた情報はどこへ行くか_envとAPIキー.md
第9章 問い2・企業版(保管・共有金庫)setup/claude-code/APIキーを会社の資産として管理する.md
第10章 deny封印のしくみsetup/claude-code/denyの設定手順_いつどう設定するか.md / 初期設定プロンプト.md / AIに見せた情報はどこへ行くか_envとAPIキー.md
第11章 キーの通り道(マスター→.env→実行)setup/claude-code/APIキーを会社の資産として管理する.md
環境の初期設定(全体)setup/claude-code/初期設定プロンプト.md

※これらはローカルの c:\dev\claude\datsuzokujin-program-curriculum\ にあり、GitHub(Private)にも同期済み。上記はファイルの置き場を示すもので、Web上のクリック可能なリンクではありません(教材本体は各自のPC/リポジトリで開く)。