Claude.mdの書き方完全ガイド

Claude.mdの書き方完全ガイド|AIコーディングの効率を劇的に上げる設定ファイル

Claude Codeで毎回同じ説明をするのは面倒...そんな悩みを解決するCLAUDE.mdの書き方を徹底解説。テンプレートやコツも紹介し、AIコーディングの効率を劇的に向上させる方法をお伝えします。

「また同じ説明を繰り返すのか...」

Claude Codeを使うたびに、そんなため息をついていませんか?

「うちのプロジェクトはTypeScriptで、ESLintはこの設定で、テストはVitestを使っていて...」

毎回こんな説明をするのは、正直しんどいですよね。

実は、この悩みを一発で解決してくれるファイルがあります。

それがCLAUDE.mdです。

この記事では、CLAUDE.mdの基本から実践的な書き方まで、わかりやすく解説していきます。

そもそもCLAUDE.mdって何?

CLAUDE.mdは、Claude Codeが起動時に自動で読み込む設定ファイルです。

簡単に言うと「Claudeに覚えておいてほしいことを書いたメモ」のようなものですね。

プロジェクトのルールや使っている技術、よく使うコマンドなどを書いておけば、毎回同じ説明をする必要がなくなります。

CLAUDE.mdでできること

  • プロジェクトの全体像をClaudeに伝える「仕様書」
  • コーディング規約をまとめた「ルールブック」
  • よく使うコマンドを記載した「チートシート」

つまり、新しいチームメンバーに渡すオンボーディング資料のようなものを、AIに渡すイメージです。

CLAUDE.mdはどこに置けばいい?

CLAUDE.mdは複数の場所に配置でき、それぞれ役割が異なります。

1. プロジェクトルート(最もよく使う)

your-project/
├── CLAUDE.md      ← ここ
├── src/
└── package.json

チームで共有したい場合は、ここに置いてGitにコミットするのがおすすめです。

2. ホームディレクトリ(個人設定)

~/.claude/CLAUDE.md

すべてのプロジェクトに適用される、あなた専用の設定を書く場所です。

「日本語で回答してほしい」「コメントは丁寧に書いてほしい」といった個人的な好みを設定できます。

3. サブディレクトリ(機能別設定)

your-project/
├── CLAUDE.md
├── frontend/
│   └── CLAUDE.md   ← フロントエンド専用
└── backend/
    └── CLAUDE.md   ← バックエンド専用

モノレポなど、大きなプロジェクトでは機能ごとに分けると便利です。

CLAUDE.mdの基本的な書き方

「じゃあ、具体的に何を書けばいいの?」

という声が聞こえてきそうですね。

ここからは、実際に使えるテンプレートを紹介します。

最小限のテンプレート

まずは、これだけ押さえておけばOKという基本形です。

# プロジェクト概要

ECサイト向けの商品管理システム

# 技術スタック

- TypeScript 5.3
- Next.js 14
- Tailwind CSS 3.4
- PostgreSQL 15

# よく使うコマンド

- `npm run dev` - 開発サーバー起動
- `npm run build` - ビルド
- `npm run test` - テスト実行
- `npm run lint` - リント実行

# コーディング規約

- 2スペースインデント
- コンポーネントは関数コンポーネントで書く
- 変数名はキャメルケース

これだけでも、Claudeの理解度がグッと上がります。

もう少し詳しく書きたい場合

プロジェクトが大きくなってきたら、こんな感じで詳細を追加していきましょう。

# プロジェクト概要

- **What**: ECサイト向け商品管理システム
- **Why**: 在庫管理の効率化と人的ミス削減
- **Who**: 社内の在庫管理チーム

# 技術スタック

- Framework: Next.js 14 (App Router)
- Language: TypeScript 5.3
- Styling: Tailwind CSS 3.4
- Database: PostgreSQL 15
- ORM: Prisma 5.x
- Testing: Vitest + Testing Library

# ディレクトリ構造

- `src/app/` - Next.js App Routerのページ
- `src/components/` - 再利用可能なコンポーネント
- `src/lib/` - ユーティリティ関数
- `src/types/` - TypeScript型定義
- `prisma/` - データベーススキーマ

# よく使うコマンド

- `npm run dev` - 開発サーバー起動 (port 3000)
- `npm run build` - 本番ビルド
- `npm run test` - Vitestでテスト実行
- `npm run lint` - ESLint実行
- `npx prisma studio` - DBのGUI確認

# コーディング規約

- 2スペースインデント
- セミコロンなし
- シングルクォート使用
- コンポーネントは関数コンポーネント + アロー関数
- Props型は`interface`で定義

# 重要な注意事項

**IMPORTANT**: PRを作成する前に必ず`npm run lint`を実行すること
**NEVER**: 環境変数を直接コミットしない(.env.exampleを参照)

効果を最大化する書き方のコツ

CLAUDE.mdを書くときに意識したいポイントがあります。

1. 簡潔に、具体的に書く

❌ 悪い例

コードはきれいに書いてください

⭕ 良い例

- 2スペースインデント
- 変数名は意味のある英語で
- 関数は20行以内を目安に

抽象的な指示より、具体的なルールのほうがClaudeは理解しやすいです。

2. 強調キーワードを活用する

Claudeは特定のキーワードに強く反応します。

**IMPORTANT**: テスト必須
**NEVER**: 本番DBへの直接アクセス禁止
**YOU MUST**: 型定義を必ず行う

重要なルールには、こうした強調を使いましょう。

3. 肥大化を避ける

CLAUDE.mdの内容はプロンプトの一部として毎回読み込まれます。

つまり、長すぎるとトークンを消費してしまうんですね。

本当に必要な情報だけを厳選して、シンプルに保つのがコツです。

4. 定期的に見直す

プロジェクトは進化します。

月に一度くらいは「この情報、まだ必要かな?」と見直してみてください。

便利な機能:#キーで簡単追加

CLAUDE.mdを手動で編集するのが面倒な場合、#キーを使った方法が便利です。

Claude Codeのセッション中に#を押すと、その場でCLAUDE.mdに情報を追加できます。

# このプロジェクトではテストにVitestを使っている

こう入力するだけで、自動的にCLAUDE.mdに記録されます。

作業しながら気づいたことを、すぐにメモできるので重宝しますよ。

/initコマンドで自動生成する方法

「何から書けばいいかわからない...」

そんなときは、/initコマンドを使ってみてください。

Claude Codeを起動して/initと入力するだけで、Claudeがプロジェクトを分析して、CLAUDE.mdを自動生成してくれます。

$ claude
> /init

これで基本的な構成が出来上がるので、あとは必要に応じてカスタマイズすればOKです。

個人設定とプロジェクト設定を分ける

チームで開発している場合、「チーム共通のルール」と「個人の好み」を分けたいことがありますよね。

そんなときは、ファイルのインポート機能を使います。

# プロジェクト共通設定

## 技術スタック
- TypeScript
- Next.js

## 個人設定
@~/.claude/my-preferences.md

@マークでファイルをインポートできるので、個人的な設定は別ファイルに切り出しておけます。

これなら、プロジェクトのCLAUDE.mdをGitにコミットしても、個人の好みは含まれません。

よくある失敗パターンと対策

最後に、CLAUDE.mdでありがちな失敗と、その対策を紹介します。

失敗1:情報を詰め込みすぎる

「あれもこれも書いておこう」と思って、READMEのように長くなってしまうケース。

対策: 本当に毎回必要な情報だけに絞る。詳細なドキュメントは別ファイルにして、必要なときだけ@docs/xxx.mdで参照。

失敗2:更新を忘れる

プロジェクトが進んで、CLAUDE.mdの内容が古くなってしまうケース。

対策: レビューで指摘されたら「@CLAUDE.mdに追記して」とClaudeに頼む。これで学習内容が自動的に蓄積されます。

失敗3:抽象的すぎる

「良いコードを書く」「パフォーマンスを意識する」など、具体性のない指示。

対策: 「〇〇の場合は△△する」という形で、具体的なルールとして書く。

まとめ

CLAUDE.mdを活用すれば、毎回の説明が不要になり、開発効率が大幅にアップします。

ポイントをおさらいしましょう。

  1. プロジェクトルートに配置して、チームで共有
  2. 技術スタック・コマンド・規約を簡潔に記載
  3. 強調キーワードで重要なルールを目立たせる
  4. #キーや/initを活用して、効率的に更新
  5. 定期的に見直して、シンプルに保つ

「AIに何度も同じ説明をするのは面倒...」

そう感じていた方は、ぜひCLAUDE.mdを試してみてください。

まずは最小限のテンプレートから始めて、徐々に育てていくのがおすすめです。

きっと、Claude Codeがもっと頼れる相棒になりますよ。

この記事が参考になったら、ぜひ実際に試してみてくださいね。

AI音楽プロジェクト「秀歌 - Shūka」

当ブログでは、生成AI技術(Suno等)を活用した音楽プロジェクトを運営しています。
AIと人間が共創する「新しい音楽体験」を、ぜひ聴いてみてください。

秀歌 - Shūka 公式サイトへ