Blog
ブログ
Claude Code のファイル構成の考え方

🧠 Claudeを「毎回説明しなくていい状態」にする
Claudeって便利だけど、基本的にセッションをまたいで記憶しない。
だから普通に使うと、毎回こういう説明が必要になる。
- 自分は何をしている人なのか
- どこに情報を保存しているのか
- 普段どんなルールで作業しているのか
なので最初にやったのは、「毎回説明しなくていい仕組み」を作ることだった。
📄 CLAUDE.md を“自己紹介ファイル”にする
Claude Code には、毎回自動で読まれる ~/.claude/CLAUDE.md というファイルがある。
ここに「自分の前提情報」を書いておく。
例えば自分はこんなことを書いている。
書いている内容
- Obsidian vault の場所
- 記事について聞かれたら先に vault を検索するルール
- 調査メモの保存先
- 普段のディレクトリ構成
すると、毎回URLやパスを貼らなくても、Claude が先に探しにいってくれる。
これだけでかなり楽になる。
🗂️ 実際のファイル構成
今の構成はざっくりこんな感じ。
Claude Code グローバル設定(~/.claude/)
~/.claude/
├── CLAUDE.md # 全セッション共通ルール
├── settings.json # permissions・hooks
├── .env # APIトークン類
├── commands/ # スラッシュコマンド
│ ├── search-vault.md
│ ├── update-daily-hours.md
│ ├── update-weekly-hours.md
│ ├── update-hours.md
│ ├── yt-summary.md
│ └── clip-summary.md
└── projects/.../memory/ # プロジェクト別メモリ
役割イメージ
CLAUDE.md- Claudeへの共通指示
- 「まずvaultを検索する」などのルールを書く
commands/- よく使う処理をコマンド化
- 毎回同じプロンプトを書かなくて済む
.env- APIキーを一元管理
- スクリプト側で読み込む
Obsidian Vault(~/obsidian/)
~/obsidian/
├── Clippings/ # Web記事の保存
├── research/ # Claudeの調査メモ
├── notes/ # アイデア・雑メモ
└── YYYY-MM-DD.md # デイリーノート
Obsidianは「知識の置き場」として使っている。
あとから検索できることを最優先にしているので、とにかくテキストを蓄積する。
作業プロジェクト
<project>/
├── CLAUDE.md
├── scripts/
├── reports/
├── config/
└── .venv/
プロジェクトごとに分けているもの
CLAUDE.md- その案件だけのルール
- コーディング規約
- 参照先
scripts/- Pythonの自動化スクリプト
reports/- Claudeが生成したレポート類
config/- Notion Database IDなどの設定
プロジェクト単位で閉じる情報は、できるだけここに寄せている。
🗂️ ObsidianとNotionは分けたほうが快適だった
最初は「全部Obsidianに寄せようかな」と思った。
でも実際やってみると、用途が違った。
Obsidianが得意なこと
- テキストを貯める
- 全文検索する
- AIと連携する
- 長文を書く
Notionが得意なこと
- タスク管理
- 期限管理
- データベース管理
- フィルタやソート
なので今はこう分けている。
- 「知識」は Obsidian
- 「管理」は Notion
無理に一元化しないほうが、結果的に運用しやすかった。
⚙️ よくやる作業は“コマンド化”する
AIを使っていて一番だるいのは、「毎回同じ手順をやること」。
なので、繰り返す作業は全部コマンドにした。
例えばこんな感じ
/update-daily-hours
Togglから昨日の稼働時間を取得して整形。
/search-vault ○○
Obsidian内の記事を検索。
/yt-summary URL
YouTube動画を要約。
こうすると、「手順」を覚えなくてよくなる。
覚えるのは“コマンド名”だけ。
これがかなり大きい。
🔐 APIキーは1箇所にまとめる
APIキーって、プロジェクトごとに .env を置き始めるとすぐ散らかる。
「あれ、どこに入れたっけ?」が発生する。
なので自分は ~/.claude/.env にまとめている。
スクリプト側は、起動時にそこを読みにいく。
こうしておくメリット
- 管理場所が固定される
- 設定ミスが減る
- 使い回ししやすい
小さいことだけど、積み重なるとかなり効く。
💡 結局やっていることはシンプル
やっていることを一言でまとめると、
Claude に毎回説明しなくていい状態を作っているだけ。
そのためにやっているのがこの3つ。
CLAUDE.mdに前提を書く- 繰り返し作業をコマンド化する
- 情報をObsidianに蓄積する
これをやると、会話を重ねるほど Claude が“自分用の作業環境”に近づいていく。