Claude Codeの​設定・スキル・メモリを​gitで​守る​ ──~/.claude を​丸ごと​履歴管理する​方​法

Claude Codeの設定・スキル・メモリは、gitの「全部除外→資産だけ許可」方式で丸ごと履歴管理できる。秘密の混入を防ぐ設定ファイル(コピペ可)と3回の安全チェック、三日坊主にしない仕組みまで、実体験ベースで解説する。

甲斐ショウジ甲斐ショウジ
CAG主宰/合同会社ATK CAIO(最高AI責任者)
技術7分で読めます
技術Claude Codeの設定・スキル・メモリをgitで守る ──~/.claude を丸ごと履歴管理する方法

Claude Code(Anthropicの開発支援AI)を使い込むほど、~/.claude というフォルダに「AIとの共同作業の資産」が育っていきます。毎回自動で読み込まれる指示書(CLAUDE.md)、作業手順をパッケージ化したスキル、プロジェクトごとの申し送りメモ。ところがこのフォルダ、標準ではバックアップも変更履歴も残りません

結論から言うと、gitの「全部除外してから、資産だけ登録する」方式(deny-allホワイトリスト)で丸ごとPrivateリポジトリにするのが安全です。実際にやってみたところ、設定は30分ほどで済み、その日のうちに効果が出ました。

この記事で分かること——①~/.claude に何が育つのか ②なぜ「フォルダごとバックアップ」が危ないのか ③実際に使っている設定ファイル(コピペ可) ④公開前の安全チェック ⑤三日坊主にしない仕組み。

ダークなターミナルに表示された ~/.claude のフォルダツリーと、金色に光る資産ファイルがgitのコミットグラフに繋がっていく様子
コードはgitで守られている。では、コードを書かせるための「指示書・スキル・メモリ」は?

01Claude Code を​使い込むと​「資産」が​育つ

Claude Code は、使うほどユーザー側に知識が溜まっていく道具です。溜まる場所が ~/.claude(ホームフォルダ直下の隠しフォルダ)で、中身はおおむね4種類あります。

資産何か筆者環境の実例
CLAUDE.md毎回の作業開始時にAIが自動で読む「指示書」。守ってほしいルールや過去の失敗から作った規範を書く捏造禁止原則・コーディング規約など約400行
rules / knowledgeハマった不具合と解決策の「罠データベース」。同じ穴に二度落ちないための記録107ファイル
skills定型作業の手順をパッケージ化した「スキル」。呼び出すだけで決まった段取りで動く画像生成・記事公開など
projects/*/memoryプロジェクトごとにAI自身が書き溜める「申し送りメモ」。次のセッションが文脈を引き継ぐ19プロジェクト分
使うほど積み上がる ~/.claude の資産 CLAUDE.md 失敗→規範 罠DB 107ファイル skills 作業パッケージ memory 19プロジェクト = AIとの共同作業で育てた、置き換えの利かない知識 時間 →(使うほど増える。しかしデフォルトでは履歴管理されない)
指示書・罠DB・スキル・メモリ。どれも失敗と改善の積み重ねで、作り直しが利かない。

どれも一朝一夕にはできません。指示書は失敗のたびに言葉を足してきたものですし、罠データベースは実際に時間を溶かした記録そのものです。コードは git で守られているのに、コードを書かせるための資産は git の外にある——これが出発点の問題です。

02​その​資産、​消えたら​戻せない​ ──しかも隣に​「秘密」が​住んでいる

「ならフォルダごとバックアップすればいい」と思うところですが、~/.claude はそう素直な場所ではありません。筆者環境の実測では、フォルダ全体は約1.2GB。ところが手書きの資産は合計およそ1MBしかありません[1]。残りは会話ログ(554MB)、プラグイン(350MB)、キャッシュ類——つまり消えても再生成できる一時データです。

さらに問題なのが、同じフォルダにログイン情報のファイル(.credentials.json)が同居していることです。

ダークなファイルマネージャ風のUIモック。資産フォルダの隣に鍵アイコン付きのcredentialsファイルが並んでいる
資産・巨大な一時データ・ログイン情報が同じフォルダに同居している。「丸ごと」は事故のもと。

gitに慣れた人がやりがちな「フォルダごと全部登録(git add -A)」をここでやると、二重の事故になります。

ひとつは、秘密が履歴に焼き込まれること。gitは変更履歴を保存する仕組みなので、後からファイルを消しても過去の履歴には残り続けますもうひとつは、巨大な一時データでリポジトリが膨張すること。1.2GBの大半は守る価値のないデータです。

つまり「丸ごと」でも「選んで手作業」でもなく、資産だけが自動で残り、秘密とゴミは自動で除外される仕組みが要ります。

03解法:​「全部​禁止 → 資産だけ許可」の​ホワイトリスト

その仕組みが、.gitignore(gitに「これは追跡しない」と伝える設定ファイル)をdeny-all(全部除外)方式で書くことです。実際に使っているものを短くしたのがこちらです。

# まず全部除外する
/*

# 履歴を残したい資産だけ「!」で復帰させる
!/.gitignore
!/CLAUDE.md
!/rules/
!/knowledge/
!/skills/
!/settings.json

# projects はログの海。メモだけ多段で拾う
!/projects/
/projects/**
!/projects/*/
!/projects/*/memory/
!/projects/*/memory/**
deny-all ホワイトリスト=知らないものは通さない セッションログ キャッシュ credentials 🔑 CLAUDE.md skills / memory /*(全部禁止の壁) ! × × × Private リポジトリ 資産だけが履歴管理される (203ファイル・約1MB) 将来の新フォルダも デフォルトで壁に止まる=安全側
「ゴミを列挙して除外」は新種のゴミで漏れる。「資産を列挙して許可」なら知らないものは入らない。

先頭の /* が「全部禁止」、続く ! の行が「これだけ許可」です。逆方式(ゴミを列挙して除外)と比べたとき、この方式には決定的な利点があります。Claude Code が将来新しいフォルダを勝手に作っても、リポジトリに混入しないことです。除外リスト方式は「新種のゴミ」が出るたびに漏れますが、許可リスト方式は知らないものをデフォルトで拒否します。追加するときだけ人間の判断(=秘密が入っていないかの確認)が挟まる設計です。

なお projects の部分だけ書き方が回りくどいのは、gitの仕様で「除外したフォルダの中身は、後から個別に復帰できない」ためです。/projects/**(中身だけ除外)→ !/projects/*/(サブフォルダを復帰)→ !/projects/*/memory/**(メモを復帰)と段階を踏むと、ログの海からメモだけを拾えます。

04公開前の​安全チェックは​「3回」

設定ができたら、登録・公開の前に秘密の混入を確認します。筆者は3段階で確認しました。

タイミング何を確認するか
① 登録前資産ファイル全部に、APIキーらしき文字列(sk- などで始まるパターン)が無いか機械検索
② コミット直前実際に登録される内容の全文に、もう一度同じ検索
③ 公開後リポジトリが本当に Private(非公開)になっているか、設定値を読み戻して確認
「入っていないはず」でなく「確認した」を3回 登録前 資産をgrep コミット直前 登録内容の全文 を再スキャン 公開後 Private設定を 読み戻し実測 1回あたり数十秒。「思い込み」と「実測」のズレをここで潰す
3回目まで要るのか?——「入っていないはず」と「確認した」は別物。確認は数十秒で終わる。

言うまでもなく、リポジトリは必ず Privateにします。資産に秘密が無くても、指示書やメモには仕事の内情が含まれます。

05作って​終わりに​しない​ ──​「置き場」と​「きっかけ」で​自走させる

ここまでで資産は守られました。ただし、このままだと次の変更は誰もコミットしません。リポジトリを作った日だけ整理して、あとは古びていく——バックアップの一番よくある失敗です。

対策はシンプルで、CLAUDE.md(毎回自動で読み込まれる指示書)に運用ルールを書くことです。

# CLAUDE.md に追記した運用ルール(要旨)
資産(罠・スキル・メモリ・設定)を更新したら、
どのプロジェクトの作業からでも、締めに ~/.claude の
コミットとプッシュまで実行する

AIは毎セッションこの指示書を読むので、以後はどのプロジェクトで作業していても、資産の変更が自動で履歴に載ります。仕組みを続かせるには「置き場(リポジトリ)」と「きっかけ(毎回読まれる場所に書いたルール)」の両方が要る、というのが今回いちばんの学びでした。

並行して動く複数のターミナルセッションが、1つのリポジトリノードに知見を集約していく様子のダークなビジュアル
並行セッション時代の資産管理。どこで生まれた知見も、1箇所の履歴に集まる。

実際、効果は初日に出ました。リポジトリを公開した数分後、並行で動いていた別プロジェクトのセッションが罠データベースに追記した差分が検出され、そのまま履歴に回収されたのです。複数のAIセッションを並行で走らせる使い方が広がるほど、この「どこで生まれた知見も1箇所に集まる」性質は効いてきます。

06まとめ:​使う​前チェックリスト

同じことをやってみる場合の確認項目です。

  • リポジトリは Private にしたか
  • .gitignoredeny-all(全部除外→資産だけ許可)方式か
  • credentials・セッションログ・キャッシュが除外されているか確認したか
  • 秘密のスキャンを登録前・コミット直前・公開後の3回やったか
  • CLAUDE.md に運用ルール(更新したらコミットまで)を書いたか
  • 別マシンへは git clone で展開できる(ログイン情報はマシンごとに再生成される)

この仕組みは、私たちがブログ用の画像生成スキルを全プロジェクト共通に整備していた作業の途中で生まれました。スキルを育てるほど、育てた場所ごと守りたくなる——その素直な帰結です。

コードは git で守っているのに、AIへの指示書は守っていない。多くの現場の盲点は、そこにあります。

電脳技巧集団​(AI職人ギルド)

AI駆動開発の実践から得た知見を、実体験ベースで発信しています。開発のご相談はこちらから。

脚注

  1. フォルダサイズ・ファイル数(1.2GB/資産約1MB/罠107ファイル/19プロジェクト/203ファイル)はいずれも筆者環境の実測値(2026-07-17時点)。構成は Claude Code のバージョンや利用状況で変わります。
  2. ~/.claude の構成(CLAUDE.md・skills・projects 等)は Anthropic の Claude Code 公式ドキュメントに基づく一般的なレイアウトです。

言語化できるものは、全て作る。

あなたの「作りたい」を、定価とスピードで形に。まずは無料の相談から。

制作事例を見る