はじめに
Claude Code を使いはじめて、最初にちょっとだけ「もったいないな」と感じる瞬間があります。
それは、セッションを開くたびに、プロジェクトの前提を一から説明し直している とき。
「このプロジェクトのテストは npm test で動くよ」「ビルドはこのコマンド」「命名規則はこう」……。昨日も言った気がすることを、今日もまた打ち込んでいる。なんかこれって、地味に消耗する気がするんですよね。
Claude Code には、この「毎回の説明し直し」を減らすための仕組みがちゃんと用意されています。その入口になるのが、今日の主役、/init というたった1つのコマンド です。
この記事では、/init だけ に絞って、こう進めます。
- そもそも
/initは何をしてくれるのか - 使う前の準備(インストールから最初の起動まで)
- 実際に
/initを叩いて、10分で最初の成功 を体験する - 生成されたファイルの確認と、そこからの育て方
- つまずきやすいポイントと、よくある質問
想定している読者は、「Claude Code という名前は聞いたことがあるけれど、まだ触ったことがない人」「ターミナルにあまり慣れていない人」です。専門用語は、初めて出てきたところで一言ずつかみ砕いていくので、前提知識はいりません。最初はみんなつまずくところなので、ゆっくりいきましょう。
なお、この記事のコマンドは Claude Code の公式ドキュメントを実際に読んで確認したものです(参考リンクは末尾にまとめています)。筆者の手元で実行結果まで確認できていないものは「動作未確認」と明記します。
そもそも「CLAUDE.md」って何なのか
/init の話に入る前に、/init が作ってくれる CLAUDE.md というファイルだけ、先に一言で押さえておきます。
CLAUDE.md(クロード・エムディー)は、Claude Code に毎回読ませたい「プロジェクトの取扱説明書」を書いておくメモファイル です。
Claude Code の公式ドキュメントには、こう書かれています。「Each Claude Code session begins with a fresh context window(Claude Code のセッションは毎回まっさらな状態で始まる)」と。人間でいうと、毎朝記憶がリセットされる同僚みたいなものです。優秀なんだけど、昨日の打ち合わせは覚えていない。
その同僚に、毎朝ちゃんと働いてもらうために、机の上に置いておくメモ。それが CLAUDE.md です。ビルドコマンド、テストの流し方、コーディング規約、フォルダ構成、「いつもこうしてね」というルール。こういう 毎回のセッションで持っていてほしい事実 を書いておくと、Claude Code は起動時にそれを読み込んでから仕事を始めてくれます。
ここでひとつ用語を補足します。
- CLI(コマンドラインインターフェース)= ターミナル(黒い画面)に文字を打って操作する方式のこと。Claude Code はこの CLI として動きます。
- リポジトリ(repo)= ざっくり言うと「1つのプロジェクトのフォルダ」。Git で管理しているコードの置き場所、くらいの理解で今日は十分です。
で、この CLAUDE.md を 手書きでゼロから作るのはちょっと腰が重い。何を書けばいいか分からないですしね。
そこを肩代わりしてくれるのが /init です。
/init は何をしてくれるのか
公式ドキュメントの表現をそのまま借りると、/init の働きはこうです。
Run
/initto generate a starting CLAUDE.md automatically. Claude analyzes your codebase and creates a file with build commands, test instructions, and project conventions it discovers.
日本語にすると、「/init を実行すると、Claude が今いるプロジェクトのコードを自分で読んで、ビルドコマンド・テストの手順・見つけたプロジェクトの慣習をまとめた CLAUDE.md のたたき台を自動で作ってくれる」 ということです。
コマンドリファレンスのほうにも、「First session in a repo. Run /init to generate a starter CLAUDE.md(リポジトリで最初のセッションを始めたら、/init でスターターの CLAUDE.md を作る)」と書かれています。つまり /init は、新しいプロジェクトで Claude Code を触りはじめたとき、いちばん最初に打つと気持ちいいコマンド なんです。
ここで安心してほしいポイントがひとつ。
すでに CLAUDE.md がある場合、/init はそれを上書きしません。 公式にこうあります。「If a CLAUDE.md already exists, /init suggests improvements rather than overwriting it(すでに CLAUDE.md があるなら、/init は上書きではなく改善を提案する)」。
自分で育ててきたメモが、コマンド一発で吹き飛ぶ……という事故は起きない設計になっている。ここ、地味だけど大事なところですよね。
使う前の準備 — インストールから最初の起動まで
「使い方」に入る前に、Claude Code 自体がまだ入っていない人向けに、最短の準備だけ通しておきます。ここは /init の前提づくりなので、さらっといきます。
1. インストール
macOS / Linux / WSL の場合、ターミナルでこれを実行します(公式のネイティブインストール)。
curl -fsSL https://claude.ai/install.sh | bash
Homebrew を使っている Mac なら、こちらでも入ります。
brew install --cask claude-code
Windows の PowerShell の場合は、こう。
irm https://claude.ai/install.ps1 | iex
2. ちゃんと入ったか確認
claude --version
公式によると、このコマンドは バージョン番号に続けて (Claude Code) と表示 されます。そう出ていれば、インストール成功です。
3. 起動してログイン
作業したいプロジェクトのフォルダに移動して、claude と打つだけです。
cd /path/to/your/project
claude
/path/to/your/project は、自分の作業フォルダのパスに置き換えてください。初回はブラウザでのログインを求められます。Claude のサブスクリプション(Pro / Max / Team / Enterprise)や Console アカウントなどでサインインできます(料金プランの詳細は公式の価格ページが一次情報です。ここでは深追いしません)。
起動すると、バージョン・使っているモデル・作業ディレクトリが上に表示された状態で、入力待ちのプロンプトが出ます。ここまで来たら、いよいよ本題です。
補足:上のインストール系コマンドは公式ドキュメントからの引用で、筆者の当該環境での実行結果としては動作未確認です。エラーが出た場合は、公式の「Troubleshoot installation」ページに、エラー別の対処がまとまっています。
実際に /init を叩く — 10分で最初の成功
準備ができたら、やることは本当に1つだけ。起動した Claude Code の入力欄に、こう打ちます。
/init
これだけです。あとは Claude が、今いるプロジェクトのコードを読みにいって、CLAUDE.md のたたき台を作ってくれます。
ここで、この記事の「10分の最初の成功」を体験してみましょう。 いきなり本番の大事なプロジェクトで試すのが不安なら、練習用の小さなフォルダを1つ作るのがおすすめです。
# 練習用のフォルダを作って、Gitリポジトリにする
mkdir claude-init-practice
cd claude-init-practice
git init
# 適当な中身を置いておく(Claudeが読む材料になる)
echo "# Practice Project" > README.md
# Claude Codeを起動
claude
起動したら、プロンプトで /init を実行。しばらくすると、フォルダの中に CLAUDE.md が1つ生成されている はずです。中身をのぞいてみると、README やフォルダの様子から Claude が推測した「このプロジェクトの説明」が、markdown で書かれています。
「AIが、自分のプロジェクト用の説明書を勝手に書いてくれた」 ——この体験がゴールです。ここまで10分あれば十分たどり着けます。
生成された CLAUDE.md を「確認」する
作って終わり、だとちょっともったいない。ちゃんと Claude Code に読み込まれているかまで確認して、はじめて「効いている」状態になります。
確認に使うのが /context です。セッション中にこう打ちます。
/context
これは、いま Claude Code のコンテキスト(=Claude が持っている前提情報のかたまり)に何が入っているかを一覧してくれるコマンドです。公式にも「Run /context in a session and check the list under Memory files」とあり、この一覧の「Memory files」の欄に、さっき作った CLAUDE.md の名前が出ていれば、ちゃんと読み込まれている合図 です。
生成 → /context で読み込みを確認。この2ステップまでやると、「なんとなく作った」から「効いていることを自分で確かめた」に変わります。
置き場所は、目的で使い分ける
CLAUDE.md は、置く場所によって「どこまで効くか(スコープ)」が変わります。全部覚える必要はなくて、まずはこの表だけ頭の隅に。
| 置き場所 | パス | 効く範囲 | 向いている内容 |
|---|---|---|---|
| ユーザー全体 | ~/.claude/CLAUDE.md |
自分の全プロジェクト | 個人的な好み・共通の書き方 |
| プロジェクト |
./CLAUDE.md または ./.claude/CLAUDE.md
|
そのプロジェクト(チーム共有) | 構成・規約・ビルド/テスト手順 |
| ローカル | ./CLAUDE.local.md |
自分だけ・そのプロジェクト | 個人用のテストデータ等(gitignore推奨) |
/init が作るのは、基本的に プロジェクト用の CLAUDE.md です。読み込みは「広い範囲 → 狭い範囲」の順で、狭いほう(プロジェクト固有)が後に来る、と覚えておけば今日は十分です。
作った後、/memory で育てる
/init はあくまで たたき台 です。Claude が自力で見つけられなかったことは、当然そこには入りません。
そこで登場するのが /memory。コマンドリファレンスに「Run /init ... then /memory to refine it(/init して、それから /memory で磨く)」とある通り、CLAUDE.md を後から手直しするための入口 です。
たとえば、こんな「Claude が推測では書けないこと」を足していくといい感じになります。
## テスト
- 単体テストは `npm test`
- E2Eは `npm run test:e2e`(先にローカルサーバー起動が必要)
## 気をつけること
- API のレスポンス型は `src/types` に集約する
- コミットメッセージは日本語でOK
ひとつコツを。公式は CLAUDE.md は200行未満を目安に と言っています。理由は、CLAUDE.md は毎回のセッションで丸ごと読み込まれる=その分だけコンテキストを消費するから。あれもこれもと盛りすぎると、かえって指示が守られにくくなります。「毎回持っていてほしい事実」だけを、短く。 これが効く CLAUDE.md の書き方です。
もう一歩:対話式の新しい /init(補足)
公式ドキュメントには、/init の 対話式の新しいフロー も紹介されています。環境変数を設定して有効にするもので、こう書かれています。
CLAUDE_CODE_NEW_INIT=1
このモードだと、/init は「CLAUDE.md・skills・hooks のどれを用意する?」と聞いてきて、サブエージェント(=裏で動く小さな担当 Claude)がコードベースを探索し、足りない情報は追加質問で埋め、実際にファイルを書く前に、確認できる提案(reviewable proposal)を見せてくれます。
ただ、これは環境変数に依存する挙動で、環境によって見え方が変わります。筆者環境での動作未確認なので、まずは 素の /init で慣れてから、興味が出たら試す、くらいの温度感で大丈夫です。
つまずきポイント / よくある質問
Q. /init と打ってもファイルが作られない
まず、Claude Code のセッションが起動している状態で打てているかを確認してください。/init は、ターミナルの普通のコマンドではなく、Claude Code の中で打つスラッシュコマンド です。claude で起動したあとの入力欄で打ちます。
Q. すでに CLAUDE.md があるんだけど、消えちゃわない?
消えません。既存の CLAUDE.md があるとき、/init は上書きではなく「改善提案」をしてくれる、と公式に明記されています。安心して実行して大丈夫です。
Q. CLAUDE.md はどこに置かれるの?
/init が作るのは基本、プロジェクト直下(./CLAUDE.md か ./.claude/CLAUDE.md)です。ちゃんと読み込まれているかは /context の「Memory files」で確認できます。
Q. 内容を直したい
/memory で開いて手直しできます。生成された文章に「ん?」と思うところがあれば、遠慮なく直してOK。むしろ、そこから自分の言葉で育てていくのが本来の使い方です。
Q. CLAUDE.md に書けば、Claude は絶対にそのルールを守る?
ここは正直にお伝えします。公式は「Claude treats them as context, not enforced configuration(CLAUDE.md は文脈であって、強制設定ではない)」と述べています。つまり 強い指示ではあるけれど、100%の強制力ではない。どうしても機械的にブロックしたい操作がある場合は、CLAUDE.md ではなく hooks という別の仕組みを使う、と公式は案内しています。
反証:/init が向かない・気をつける場面
便利な /init ですが、いつでも万能というわけではありません。ここは正直に置いておきます。
-
機密情報が多いリポジトリ:
/initはコードを読んで説明を書きます。生成された CLAUDE.md に、外に出したくない情報が紛れていないか、コミット前に必ず自分の目でレビュー してください。 -
巨大なコードベース:自動生成の推測が的外れになることもあります。生成物を鵜呑みにせず、間違いは
/memoryで直す前提で。 - そもそも短命な使い捨てフォルダ:数分で捨てるような作業に、わざわざ CLAUDE.md を用意する必要はありません。
要は、/init は「たたき台を一瞬で用意してくれる相棒」であって、「最終判断をしてくれる人」ではない。最後に読んで、直して、責任を持つのは自分。この距離感で付き合うと、ちょうどいいんですよね。
おわりに
やることを、もう一度だけ短くまとめます。
- プロジェクトのフォルダで
claudeを起動する -
/initと打つ → CLAUDE.md のたたき台ができる -
/contextの「Memory files」で読み込みを確認する -
/memoryで、自分にしか書けないことを少しずつ足していく
たった1コマンドですが、これをやっておくと、明日からの「毎回の説明し直し」がすっと軽くなります。まずは練習フォルダで1回、そのあと実際のプロジェクトで /init を叩いて、生成された CLAUDE.md に 自分の言葉で1行だけ追記 してみてください。そこからが、あなた専用の設定の始まりです。
参考リンク(この記事を書くために読んだ公式ページ)
- Claude Code — How Claude remembers your project(CLAUDE.md /
/init/ auto memory): https://code.claude.com/docs/en/memory - Claude Code — Commands(
/init・/memory・/contextの一覧): https://code.claude.com/docs/en/commands - Claude Code — Quickstart(インストール・
claude --version・起動): https://code.claude.com/docs/en/quickstart
生成AI活用エンジニア&3児のパパ。AI×開発の実践知を毎日発信しています → X: https://x.com/akira_papa_AI