AIコーディングとエージェント

[Claude Code #1] /initとCLAUDE.md自動生成で始める

Claude Codeの/initコマンドはコードベースを分析し、CLAUDE.mdを自動生成します。既存ファイルがある場合の動作、Cursor・Copilotルールの移行、対話型モード、生成後の調整基準までまとめました。

読了 6 分
[Claude Code #1] /initとCLAUDE.md自動生成で始めるのカバー画像

新しいプロジェクトにAIコーディングツールを導入すると、同じ説明を何度も繰り返すことになります。ビルドコマンドは何か、テストはどう実行するか、どんなルールでコードを書くか、といった説明です。

Claude Codeはこの説明をCLAUDE.mdというファイルに保存し、毎回のセッションで自動的に読み込みます。問題は、このファイルを最初から手書きするのが意外と難しいことです。

/initは、その最初の壁を越えるためのコマンドです。コードベースを分析し、CLAUDE.mdの下書きを代わりに作成します。

この記事は、Claude Codeのコマンドを一つずつ掘り下げるシリーズの第1回です。まずは最初に実行することになるコマンドから始めます。

/initの役割

セッションの入力欄に/initと入力すると、Claudeがプロジェクトの調査を始めます。

公式メモリードキュメントはこの処理を次のように説明しています。コードベースを分析してビルドコマンド、テスト方法、プロジェクトの規約を見つけ、その内容からCLAUDE.mdを生成します。

生成物はおおむね次のような形です。

# CLAUDE.md

## ビルドとテスト
- 開発サーバー: pnpm dev
- テスト: pnpm test (コミット前に必須)

## 構成
- API ハンドラーは src/api/handlers/に置く
- 共通型は src/lib/types.tsにまとめる

package.jsonやMakefileから読み取れる情報が骨格になります。人が最初から書けば30分かかる下書きも、数分で作成できます。

CLAUDE.mdとは何か、なぜ必要なのか気になる方は、まずClaude Codeのルールとメモリーを整理した記事をお読みください。

すでにCLAUDE.mdがある場合

/initを再実行しても、既存ファイルは上書きされません。

公式ドキュメントによると、ファイルが存在する場合は上書きせず、改善案を提案します。プロジェクトがかなり進んだ後でも安全に実行できます。

古いCLAUDE.mdを点検するときは、定期的に実行するとよいでしょう。その間に変わったビルドやテスト手順を反映した改善案を提案してくれます。

他のAIツールから移行する場合

/initは、他のコーディングエージェントのルールファイルも読み込みます。

Cursorの.cursor/rules/.cursorrules、GitHub Copilotの.github/copilot-instructions.mdが対象です。関連する内容を選び、新しく作るCLAUDE.mdに取り込みます。

AGENTS.mdをすでに使っているリポジトリには別の方法があります。CLAUDE.mdに@AGENTS.mdという1行を追加すると、そのファイル全体を読み込めます。

@AGENTS.md

## Claude Code 専用の指示
- src/billing/ 以下を修正するときは、まずプランモードを使う

2つのツールが同じルールを読むため、内容をコピーしておく必要はありません。

Codex CLIやGemini CLIを使っていたリポジトリには、別途/importコマンドがあります。指示ファイルからMCPサーバー、コマンド、スキルまで一度に移行できます(v2.1.213以上)。

Claude Codeの/initによるコードベース分析とCLAUDE.md生成の流れを示す図
/initの実行フローです。ファイルの有無に応じて、生成と改善提案に分かれます。

対話型/initを有効にする

環境変数1つで/initを、より丁寧な対話型モードに切り替えられます。

CLAUDE_CODE_NEW_INIT=1 claude

このモードの/initは、何を作るかを最初に尋ねます。CLAUDE.mdだけを作るのか、スキルやフック(特定の時点で自動実行されるスクリプト)まで設定するのかを選ぶ形です。

その後、サブエージェントでコードベースを調査し、不足している情報は質問して補います。ファイルを書き込む前に提案を表示するため、確認してから反映できます。

このモードでは、読み込むルールファイルの範囲も広がります。AGENTS.md、.windsurf/rules/.clinerulesなど、他のツールの設定も参照対象になります。

作成したらまず確認する

生成が終わったら、/contextを実行してみてください。

Memory filesにCLAUDE.mdが表示されれば、正常に読み込まれています。ここにない場合、Claudeはそのファイルを読めていません。

ファイルを開いて編集したいときは、/memoryコマンドを使います。セッション内でそのままエディターに開けます。

下書きは下書きにすぎない:調整の基準

/initが作成したファイルをそのままにしておくのはもったいありません。自動分析では見つけられない知識が抜けているからです。

公式ドキュメントも、ファイルを作成した後に「Claudeが自力で発見できない指示」を加えるよう勧めています。なぜこの構成を選んだのか、どんな落とし穴を避けるべきか、といった背景です。

調整するときは、2つの基準だけ覚えておけば十分です。

1つ目は、1ファイル200行以下を目標にすることです。長いほどコンテキストを消費し、指示への従いやすさも下がります。

2つ目は、検証可能な文にすることです。「コードをきれいに」よりも「インデントは2スペース」のほうが、はるかによく守られます。

ディレクトリ一覧のようにコードを見れば分かる内容は削除して構いません。/doctorのチェックが、こうした冗長な記述を見つけて削除を提案することもあります(v2.1.206以上)。

短く保つ理由をさらに知りたい方は、CLAUDE.mdはなぜ短くするべきかで詳しく解説しています。

「REFINE THE DRAFT」の文字と、CLAUDE.mdの下書きを赤ペンで整える手を描いたイラスト
下書きを200行未満に整えるのは人の仕事です。

まとめ

/initは、新しいプロジェクトでClaude Codeを始めるときに最初に通る関門です。

コードベースを分析してCLAUDE.mdの下書きを作り、既存ファイルがあれば改善案を提案します。Cursor・Copilotのルール移行まで行うため、ツールを乗り換えるときにも役立ちます。

ただし、下書きは出発点です。自動分析では見つけられないチームの背景を加え、200行以下に整えるのは人の仕事として残ります。

次回予定のClaude Code第2回では、コードを修正する前に設計を合意する/planプランモードを扱います。

出典と確認基準

あわせて読みたい