Claude Code の CLAUDE.md でプロジェクト固有のルールを設定した話

Claude Code のプロジェクト設定ファイル CLAUDE.md を使って AI への指示をカスタマイズした体験談です。実際に設定した内容や使い始めてからの変化をまとめました。

未来的な暗背景の空間に、白く光る三次元の脳モデルが回路のような床とドット状の世界地図、幾何学的ワイヤーフレームに囲まれて浮かんでいるコンセプトイラスト

👀 結論から

Claude Code には CLAUDE.md というファイルを使って、AI への指示をプロジェクト単位でカスタマイズできる機能があります!

リポジトリのルートに置いておくだけで、毎回プロンプトに書かなくても「このプロジェクトではこういう書き方で」という指示が自動で反映されるようになります。

実際に仕事で使っているプロジェクトに設定してみたら、かなり便利でした(^o^)/

💡 CLAUDE.md とはなにか

CLAUDE.md は Claude Code がセッション開始時に自動で読み込む設定ファイルです。

中に書いた内容はすべてシステムプロンプトに追加されるイメージで、プロジェクト固有のルールや背景情報を事前に伝えておけます。

例えば:

  • 「コメントは日本語で書く」
  • 「関数名はキャメルケース」
  • 「このプロジェクトは Laravel と TypeScript を使っている」

こういった情報を書いておくと、AI が最初から文脈を把握した状態で動いてくれます!

✨ 実際に設定した内容

私が実際に書いた CLAUDE.md の内容を一部紹介します。

## 技術スタック
- バックエンド: PHP / Laravel 12
- フロントエンド: TypeScript / React / Vite
- インフラ: AWS (ECS on EC2 + RDS)
- DB: MySQL(RDS)

## コーディング規約
- コメントは日本語で書く
- 関数・変数名は camelCase
- コンポーネントは PascalCase
- 型定義は明示的に行う(型推論に頼りすぎない)
- `interface``type` は用途で使い分ける(オブジェクト構造は `interface`、ユニオンなどは `type`

## 禁止事項
- `any` 型の使用は原則禁止。どうしても必要な場合は `unknown` + 型ガードを使う
- `console.log` を本番コードに残さない。デバッグ後は必ず削除する
- Laravel の N+1 問題を引き起こす実装は避ける(Eager Loading を意識する)
- 直接 SQL を書かず、基本的に Eloquent / Query Builder を使う

## 実装方針
- 既存コードのスタイル・命名規則を最優先で踏襲する
- 新しいパッケージ・ライブラリは提案のみ。インストールは自分で判断する
- ファイル変更は最小限にとどめ、影響範囲を明示してから変更する
- 複数ファイルにまたがる変更の前には必ず計画を提示する

## レスポンスのルール
- 日本語で回答する
- コードブロックには必ず言語を明記する(```php, ```tsx など)
- 変更理由・判断根拠を簡潔に添える

このように書いておくことで、毎回「このプロジェクトは Laravel で〜」と説明しなくて済むようになりました(^^)

コードを生成してもらうとき、最初から適切なスタック・命名ルールに沿ったコードが出てくるようになって、かなり助かっています。

👍 使い始めてからの変化

一番変わったのは、説明の手間が減ったことですかね。

以前は新しいタスクを始めるたびに「このプロジェクトの技術スタックはこうで、コーディング規約はこうで…」と毎回書き直していました(´・ω・`)

CLAUDE.md を設定してからは、「この画面にバリデーションを追加して」だけで、規約に沿ったコードを出してくれるようになりました!

また、CLAUDE.md はプロジェクトルートだけでなくサブディレクトリにも置けます。

フロントとバックエンドでルールが違う場合も、それぞれのディレクトリに設定ファイルを入れることで対応できました!

🤔 気になった点

設定を書きすぎると逆効果になることがあります(・_・;)

あまりにも細かい指示を大量に書いてしまうと、AI がどの指示を優先すべきか迷い始める感じがありました。

また、トークン消費量もちょっと多くなります…

私の感覚では「絶対守ってほしいこと・絶対やってほしくないこと」に絞って10〜15行程度にまとめるのが一番うまくいく感じがしましたね。

CLAUDE.md の内容はバージョン管理されるので、チームで開発しているときはメンバーとルールを共有・議論しやすいのもメリットです。

ルールの変更を PR で管理できるようになって、コーディング規約を「言語化して管理する」習慣がつきました!

この CLAUDE.md すらもclaudeに作らせてます!

パパ系Webエンジニア〜愛用ガジェット一覧 🛍️

AI開発・執筆に使っている作業デスク環境を楽天ROOMにまとめています ✨ デスク周りの参考にどうぞ 🙌

🙌 まとめ

CLAUDE.md は Claude Code をプロジェクトやチームに最適化するための設定ファイルで、一度書いておくとその後の開発がかなりスムーズになります。

  • リポジトリルートに置くだけで自動読み込み
  • 技術スタック・命名規則・禁止事項などを書く
  • 書きすぎずシンプルにまとめることが大事
  • バージョン管理されるのでチーム共有にも便利

Claude Code を使っていてまだ CLAUDE.md を設定していない人は、ぜひ一度試してみてください🙌