前回は、Claude CodeによるGit操作、コミットやプルリクエスト作成の流れを確認しました。第5回では、CLAUDE.mdファイルや権限設定を使って、Claude Codeを自分のプロジェクトに合わせてカスタマイズする方法を見ていきます。
毎回同じ説明をする手間をなくす
Claude Codeを使っていると、「このプロジェクトではテストはこのコマンドで実行する」「コミットメッセージは日本語で書いてほしい」など、毎回のように伝えたいルールが出てきます。これを会話のたびに説明するのは非効率です。そこで使うのが、プロジェクトの直下に置く CLAUDE.md というファイルです。
CLAUDE.mdに書いた内容は、Claude Codeがそのプロジェクトで作業を始めるときに自動的に読み込まれます。いわば「このプロジェクト用の申し送り事項」です。
CLAUDE.mdに書くとよい内容
CLAUDE.mdには、次のような情報を書いておくと効果的です。
- プロジェクトの概要と、主な技術構成(使用言語、フレームワークなど)
- よく使うコマンド(テスト実行、ビルド、開発サーバー起動など)
- コーディング規約やディレクトリ構成のルール
- コミットメッセージの書き方のルール
- やってほしくないこと(特定ファイルを変更しない、特定のライブラリを使わない、など)
簡単な例を示します。
# プロジェクト概要
このプロジェクトはNode.js製のAPIサーバーです。
## よく使うコマンド
- テスト実行: npm test
- 開発サーバー起動: npm run dev
## コーディング規約
- コミットメッセージは日本語で、変更理由が分かるように書く
- src/config 以下のファイルは自動生成のため直接編集しない
すべてを一度に詳しく書く必要はありません。実際に使いながら、「毎回説明しているな」と感じた内容を少しずつ追記していくのが現実的です。
ツール実行の許可をカスタマイズする
第2回で触れたように、Claude Codeはファイル変更やコマンド実行の前に確認を求めることがあります。この確認の挙動は、設定ファイルで細かく調整できます。設定は settings.json というファイルに書き、プロジェクト単位、あるいは利用者単位で保存できます。
例えば、特定の安全なコマンドは毎回確認せずに実行してよい、というルールを設定できます。逆に、特に慎重に扱いたい操作は、常に確認を求めるようにすることも可能です。どこまで自動化するかは、プロジェクトの重要度や、自分がどれだけClaude Codeの挙動に慣れているかによって調整するとよいでしょう。
設定内容を直接ファイルに書く自信がない場合は、Claude Code自身に「この操作を毎回許可するように設定して」のように頼むこともできます。設定ファイルの編集自体もClaude Codeに任せられます。
独自のスラッシュコマンドを作る
第2回で紹介した /help や /clear のようなスラッシュコマンドは、自分で追加することもできます。よく行う定型的な作業を、短いコマンドとして呼び出せるようにしておくと、繰り返しの指示出しが楽になります。
例えば「変更点を確認してテストを実行し、問題なければコミットする」という一連の流れを、毎回文章で説明する代わりに、専用のコマンドとして登録しておく、といった使い方ができます。どのような定型作業を自動化したいかは、実際にプロジェクトを進める中で見えてくることが多いので、最初から作り込みすぎず、必要になったタイミングで追加していくとよいでしょう。
作業の節目に処理を挟む「フック」
Claude Codeには、特定のタイミングで自動的に処理を実行させる「フック」という仕組みもあります。例えば、「ファイルを編集した直後に、自動でコード整形ツールを実行する」といった運用が可能です。人が指示を出さなくても、決まった後処理を確実に行わせたい場合に活用できます。
フックはやや発展的な機能なので、まずはCLAUDE.mdと権限設定に慣れてから、必要に応じて取り入れるとよいでしょう。
複数プロジェクトでの使い分け
複数のプロジェクトを掛け持ちしている場合、それぞれのプロジェクトの直下にCLAUDE.mdを置いておけば、Claude Codeはそのプロジェクトごとのルールを自動的に切り替えて認識します。共通で使いたい設定は利用者単位の設定として、プロジェクト固有のルールはプロジェクト内のCLAUDE.mdとして分けておくと、管理がしやすくなります。
まとめ
第5回では、CLAUDE.mdによるプロジェクト固有ルールの申し送り、ツール実行許可のカスタマイズ、独自スラッシュコマンド、フックの概要を確認しました。これらを整えておくことで、毎回の説明が減り、Claude Codeとのやり取りがより効率的になります。
次回は最終回として、サブエージェントやMCP連携など、Claude Codeの活用の幅を広げる応用的な機能を紹介します。


