ClaudeCodeの「/init」コマンドの使い方【初心者必読】CLAUDE.md自動生成
ClaudeCodeをインストールしてプロジェクトの中で初めて起動したとき、最初に実行すべきコマンドが /init です。これは単なる挨拶コマンドではありません。ClaudeCodeがあなたのプロジェクトを「理解」するための土台ファイル、CLAUDE.md を自動で生成する非常に重要なコマンドです。/init を実行せずに使い続けると、Claudeは毎回プロジェクトの構成を推測しながら作業することになり、的外れなコードや既存ルールに反するファイル変更が増えてしまいます。本記事では /init が実際に何をしているのか、どんなファイルが生成されるのか、生成内容をどうカスタマイズすればよいのか、そして実行時に陥りがちな落とし穴まで、初心者でも迷わないよう一つひとつ丁寧に解説します。これを読み終わるころには、新しいプロジェクトを始めるたびに /init を打ちたくなっているはずです。
結論:/initは「Claudeへの自己紹介書」を1分で作るコマンド
/init を一言で説明すると、「あなたのプロジェクトを初めて訪れたClaudeに渡す、自己紹介書(=CLAUDE.md)を自動で書いてもらうコマンド」です。具体的には、ClaudeCodeがプロジェクト内のファイル群(package.json、README.md、ソースコードのディレクトリ構造、設定ファイルなど)を読み取り、「このプロジェクトはNext.js + TypeScriptで作られていて、テストはJest、デプロイはCloudflare Workers」といった要約を CLAUDE.md というファイルにまとめてくれます。
このファイルが存在すると、ClaudeCodeは以降の会話で毎回 CLAUDE.md を最初に読み込むようになります。つまり、「このプロジェクトはどんな技術で動いているか」「どんなコーディング規約か」「どのコマンドでテストを走らせるか」を、毎回説明しなくても理解した状態で作業を始められるのです。これは作業効率と精度に直結します。/init を実行するのとしないのとでは、Claudeの回答品質が体感で大きく変わります。
実行は非常にシンプルで、プロジェクトのルートディレクトリに移動してClaudeCodeを起動し、/init と打つだけ。生成には30秒〜2分ほどかかります。出来上がったファイルは必ず一度自分の目で確認し、間違いがあれば手で修正してください。/init は完璧なファイルを作るのではなく、80点の下書きを瞬時に用意してくれる、と理解しておくのが正しい付き合い方です。
h2-1. /initで生成されるCLAUDE.mdとは何か
CLAUDE.md は、ClaudeCodeがプロジェクトに入るたびに最初に読み込む「説明書」のような役割を持つMarkdownファイルです。ClaudeCodeを起動してプロジェクトディレクトリで作業を始めると、Claudeは自動的にこのファイルを参照し、その内容をシステムプロンプトの一部として扱います。
具体的にどんなことが書かれているかというと、典型的にはこうした項目です。
- プロジェクトの概要(どんなアプリか、何を解決するか)
- 使用している技術スタック(言語、フレームワーク、ライブラリ)
- ディレクトリ構造の説明
- よく使うコマンド(
npm run dev、npm test、npm run buildなど) - コーディング規約(命名規則、コメントの付け方、テストの方針など)
- 注意事項(触ってはいけないファイル、独自の設計ルール)
なぜこれが大事かというと、Claudeは賢いとはいえ、初対面のプロジェクトでは「常識的な書き方」をしてしまうからです。たとえばあなたのプロジェクトでは独自にユーティリティ関数を lib/utils/ に置いているのに、Claudeは何も知らなければ src/helpers/ に新しいファイルを作ってしまうかもしれません。CLAUDE.md で「ユーティリティは必ず lib/utils/ に置く」と書いておけば、こうしたズレが防げます。
CLAUDE.md はGitにコミットしてチーム全員で共有するのが基本です。チームメンバー全員のClaudeCodeが同じ前提で動くため、コードの一貫性が保たれます。
h2-2. /initを実行する手順(コピペでOK)
実際の実行手順を見ていきましょう。Mac/Linux/Windows(WSL)共通です。
# 1. プロジェクトのルートに移動
$ cd ~/projects/my-app
# 2. ClaudeCodeを起動
$ claude
# 3. ClaudeCodeのプロンプトが出たら /init と入力
> /init
たったこれだけです。/init を打つと、ClaudeCodeはプロジェクト内をスキャンし始めます。スキャンが進むにつれて画面に「ファイルAを読み込んでいます」「テスト構成を解析しています」といったログが流れます。1〜2分ほど待つと、ルートディレクトリに CLAUDE.md が生成されます。
生成が終わったら、別のエディタ(VS Codeなど)で CLAUDE.md を開き、内容を確認します。Claudeが推測した内容のため、実態とズレている部分があれば自分で書き直しましょう。たとえば「テストフレームワーク:Jest」と書かれているけど実際はVitestを使っている、というケースは珍しくありません。
確認が終わったら、必ずGitにコミットしておきます。
$ git add CLAUDE.md
$ git commit -m "Add CLAUDE.md generated by /init"
これで以降、誰がこのリポジトリでClaudeCodeを起動しても、同じ前提で会話が始められます。
h2-3. /initで生成される典型的なCLAUDE.mdの中身
実際にどんな内容が生成されるのか、Next.jsプロジェクトを例にイメージをつかみましょう。生成例の一部を抜粋します。
# Project: My App
## Overview
This is a Next.js 14 application using the App Router.
The app is deployed to Cloudflare Workers.
## Tech Stack
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Database: Cloudflare D1
- Testing: Vitest + React Testing Library
- Linting: ESLint + Prettier
## Directory Structure
- `app/` - Pages and route handlers
- `components/` - Reusable UI components
- `lib/` - Utility functions and shared logic
- `tests/` - Unit and integration tests
## Common Commands
- `npm run dev` - Start the development server
- `npm test` - Run all tests
- `npm run build` - Build for production
- `npm run lint` - Run ESLint
## Conventions
- Use function components with TypeScript
- Place all reusable hooks in `lib/hooks/`
- Always write a test for new utility functions
このような構造で出力されるのが標準的です。すべてが完璧というわけではないので、実態と異なる箇所は手動で修正しましょう。とくに「Conventions(規約)」のセクションはClaudeが推測で書きやすい部分なので、チームのルールがあるなら必ず書き換えてください。
h2-4. 生成されたCLAUDE.mdをカスタマイズする
/init で生成された CLAUDE.md は完成形ではなく、出発点です。プロジェクトの実情に合わせて自由に追記・修正してください。とくに次の3つの観点で見直すのがおすすめです。
1. ビジネスルール・ドメイン知識を追加する
技術スタックは自動で取れますが、「このアプリは医療系で個人情報を扱うため、ログには絶対に氏名を出さない」といった業務ルールは自動では拾えません。これは人間が追記する必要があります。
## Business Rules
- Never log patient names or IDs
- All API responses must be JSON, never HTML
- User-facing text must be in Japanese
2. 「触ってはいけない」エリアを明示する
レガシーコードや手動で管理しているファイルなど、Claudeに触ってほしくない場所を明記します。
## Do Not Modify
- `legacy/` - Old code, kept for compatibility
- `migrations/` - Manual review required before changes
3. インポート機能で他のファイルを取り込む
CLAUDE.md の中で @パス/ファイル名 と書くと、そのファイルの内容も同時に読み込まれます。たとえばコーディング規約を別ファイルにまとめている場合、
## Coding Standards
@docs/coding-standards.md
と書けば、docs/coding-standards.md の内容もClaudeに渡されます。CLAUDE.md 自体を肥大化させず、整理された状態を保てます。
h2-5. ユーザー全体用のCLAUDE.md(~/.claude/CLAUDE.md)
CLAUDE.md には2種類あります。
- プロジェクト用:
./CLAUDE.md(リポジトリのルートに置く、チーム共有) - ユーザー用:
~/.claude/CLAUDE.md(自分のホームディレクトリに置く、個人用)
ユーザー用は「あなた自身がClaudeCodeを使うすべてのプロジェクトに共通で適用される」設定です。たとえば「私は非エンジニアです。専門用語は避けて日本語で説明してください」「Cloudflare構成以外は提案しないでください」といった、自分のあらゆるプロジェクトで一貫させたいルールを書いておきます。
/init はプロジェクト用の CLAUDE.md を生成しますが、ユーザー用は手動で作成します。
$ mkdir -p ~/.claude
$ touch ~/.claude/CLAUDE.md
中身は自由に書けますが、両方が存在する場合はプロジェクト用がユーザー用に追加される形で適用されます。社内ルールはユーザー用に、プロジェクト固有の情報はプロジェクト用に、と使い分けましょう。
h2-6. /initを実行するベストなタイミング
「いつ /init を実行すべきか?」という疑問への答えは、シンプルに「プロジェクトでClaudeCodeを使い始める最初の1回」です。ただし、次のタイミングでも再実行を検討するとよいでしょう。
- 大規模なリファクタリング後(ディレクトリ構造が大きく変わった)
- 技術スタックを変更した後(フレームワーク移行など)
- 新しいメンバー向けにドキュメントを整理したいとき
ただし /init を再実行すると、既存の CLAUDE.md が上書きされる可能性があります。手動で追記したカスタマイズが消えると痛いので、必ず実行前にコミットを取るか、別名でバックアップしておきましょう。
$ cp CLAUDE.md CLAUDE.md.bak
$ claude
> /init
実行後にdiffを取って、追加された有用な情報だけ取り込み、自分のカスタマイズは戻す、という運用がおすすめです。
h2-7. /initでよくある失敗と対処法
実行時にハマりやすいパターンをまとめます。
失敗1:何も生成されず終了する
原因の多くは、プロジェクトディレクトリにいない、または読み込めるファイルが少なすぎることです。pwd で現在地を確認し、package.json や README.md がある場所で実行してください。
失敗2:実態と違う内容になる
これは /init の限界というより仕様です。Claudeが推測で書いた部分は人間がレビューして直しましょう。とくに「Conventions」「Business Rules」セクションは要確認。
失敗3:超巨大なファイルが生成される
モノレポなど巨大プロジェクトでは、CLAUDE.md が数千行になってしまうことがあります。CLAUDE.md 自体は短く保ち、詳細は @docs/... で分割インポートする運用が望ましいです。
失敗4:機密情報が書き込まれる
設定ファイルから誤って .env の中身を読み取って CLAUDE.md に転記してしまうケースがまれにあります。コミット前に必ず目視で確認し、APIキーや個人情報が混入していないかチェックしてください。
h2-8. /init実行後にやっておきたい3つの追加作業
/init で CLAUDE.md を作ったら、続けて次の3つを済ませておくとClaudeCodeの精度がさらに上がります。
.gitignoreに.claude/local/を追加:個人用の設定が誤ってコミットされないように。.claude/commands/を作成:チームで共有するカスタムスラッシュコマンドの置き場所として用意しておく。README.mdに一文追記:「このプロジェクトはClaudeCodeを使って開発しています。CLAUDE.mdを必ず最初に読んでください」と書いておくと、新メンバーがスムーズに参加できます。
これでClaudeCodeを使う準備は完璧です。あとはどんどんプロンプトを送って、AIと一緒に開発を進めるだけ。/init の30秒の投資が、その後の数十時間の作業効率を変えていきます。
FAQ:ClaudeCodeの/initコマンドのよくある質問
Q1. /initは何度実行しても大丈夫ですか?
A. 動作上は問題ありませんが、既存の CLAUDE.md が上書きされる可能性があります。再実行の前は必ずバックアップかコミットを取ってください。
Q2. /initを実行せずに使い始めても問題ありませんか? A. 動きはしますが、Claudeがプロジェクトの前提を毎回推測することになり、回答精度が落ちます。最初の1回だけでも実行することを強くおすすめします。
Q3. /initで生成されたCLAUDE.mdは英語ですが、日本語に書き換えてよいですか? A. 問題ありません。Claudeは日本語のCLAUDE.mdも正しく解釈します。
Q4. CLAUDE.mdをGitに含めるべきですか? A. はい。チーム全員で同じ前提を共有するために、コミットすることを推奨します。秘密情報が含まれていないか確認の上で。
Q5. /initはどのくらい時間がかかりますか? A. 小規模プロジェクトで30秒前後、大規模プロジェクトで2〜3分程度です。
Q6. CLAUDE.mdが大きすぎると問題がありますか?
A. はい。大きすぎるとClaudeのコンテキストを圧迫します。長くなりそうなら @ インポートでファイル分割しましょう。
Q7. /initの代わりに手書きでCLAUDE.mdを作っても良いですか? A. もちろん可能です。書くべき内容が分かっているなら手書きが一番正確です。書き方は別記事「ClaudeCodeのCLAUDE.mdファイルの書き方」を参考にしてください。
まとめ
/init は、ClaudeCodeを使い始めた人が必ず最初に押すべきボタンです。プロジェクトを30秒〜2分でスキャンし、Claudeに渡す自己紹介書(CLAUDE.md)を自動で作ってくれます。生成された内容は完璧ではありませんが、80点の下書きから始められるのは大きな時間短縮です。生成後は必ず内容を確認し、業務ルール・触ってはいけない場所・規約などを手動で追記してください。@ インポートで他のドキュメントを取り込めば、CLAUDE.mdを肥大化させずに豊富な情報をClaudeに渡せます。プロジェクト用とユーザー用(~/.claude/CLAUDE.md)の使い分けも忘れずに。/init はたった1行のコマンドですが、その後のすべての会話品質を底上げする、最も費用対効果の高い投資です。新しいプロジェクトを始めたら、まず /init。これだけは絶対に覚えて帰ってください。