メインコンテンツへスキップ
見出し画像

CLAUDE.mdのおすすめ設定は「5行から」——入れるもの・外すもの・settings.jsonへ回すもの

    金曜の夕方、同僚のCLAUDE.mdを見せてもらったら、180行ありました。

    コーディング規約、フォルダの説明、依存ライブラリの一覧、Gitの作法、「必ずテストを書くこと」。全部、正しいことが書いてある。

    で、その同僚が言うんです。「書いたのに、テスト書かずにコミットしてくるんだよね」

    180行のどこかに埋まった1行は、読まれていない。これが、CLAUDE.mdのおすすめ設定を語るときに、最初に置きたい情景です。

    この記事は、公式ドキュメントが「入れるもの」「外すもの」として挙げている項目を並べ、最初の5行と、CLAUDE.mdではなく settings.json へ回すものを分けます。出典はCLAUDE.mdのページ、ベストプラクティス、設定ファイルのページ。2026年9月11日に本文を確認しました。

    CLAUDE.mdのおすすめ設定、その前に——「設定」ではないという公式の線

    公式ドキュメントは、CLAUDE.mdをこう扱っています。Claude treats them as context, not enforced configuration.(文脈として扱い、強制される設定としては扱わない)

    だから「おすすめ設定」という言葉は、半分だけ正しい。設定ファイルの感覚で書き足すほど、効かなくなる。

    ベストプラクティスには、もっと直接的な一文があります。「Bloated CLAUDE.md files cause Claude to ignore your actual instructions!」=太ったCLAUDE.mdは、本当に守ってほしい指示を無視させる。

    180行の同僚は、ここに当たっていました。

    最初の5行——公式の例をそのまま起点にする

    ベストプラクティスには、CLAUDE.mdの例が載っています。見出しが2つ、行が4つ。

    「# Code style」の下に、ES modulesを使う(CommonJSでなく)、importはできれば分割代入で。「# Workflow」の下に、一連の変更を終えたら型チェックする、テストは全部でなく単体で走らせる。

    これが公式の「例」です。短い。

    ここから始めるなら、私は5行を勧めます。

    ビルドとテストのコマンドを1行ずつ。既定と違うコードスタイルを1行。ブランチやPRの作法を1行。環境の癖(必要な環境変数など)を1行。

    なぜこの5つか。ベストプラクティスの「含める」列がそのまま根拠です。「Bash commands Claude can't guess」「Code style rules that differ from defaults」「Testing instructions and preferred test runners」「Repository etiquette (branch naming, PR conventions)」「Developer environment quirks (required env vars)」。

    5行は、この列を1行ずつ埋めた形です。

    外すもの——「読めば分かること」は書かない

    同じ表の「除外する」列も、そのまま使えます。

    コードを読めば分かること。言語の標準的な慣習。詳しいAPIドキュメント(リンクで済ませる)。頻繁に変わる情報。長い説明やチュートリアル。ファイルごとの説明。「きれいなコードを書く」のような自明なこと。

    180行の同僚のファイルは、フォルダの説明と依存ライブラリの一覧で100行を使っていました。どちらも「読めば分かること」です。

    判断に迷ったら、公式が1行で書いている問いを使ってください。「Would removing this cause Claude to make mistakes?」(これを消したら、Claudeは間違えるか?)。答えがNoなら、消す。

    いや、消すのが怖いんだけど。

    分かります。私も最初は消せませんでした。そういうときは、CLAUDE.mdページにある目安を思い出してください。1ファイル200行未満。長いほど文脈を消費し、従われにくくなる、と書かれています。200行に近いなら、消す方が安全です。

    画像

    道具もあります。/doctor を走らせると、チェックインされたCLAUDE.mdについて、コードベースから導けるもの(ディレクトリ構成・依存の一覧・アーキテクチャの概要)の削除を提案してくれる、とあります。v2.1.206以降。

    CLAUDE.mdではなく settings.json へ回すもの

    ここが、おすすめ設定で一番混ざりやすいところです。

    「.envを読むな」「本番のDBに触るな」。こういう禁止を CLAUDE.md に書く人が多い。でも公式の線では、禁止はCLAUDE.mdの仕事ではありません。

    CLAUDE.mdページに、こうあります。「To block an action regardless of what Claude decides, use a PreToolUse hook instead.」=Claudeの判断に関わらず止めたいなら、hookを使う。

    もう1つ。設定ファイルのページには、permissions の例が載っています。lintとtestのコマンドを許可し、.env と .env.* の読み取りを拒否する、という書き方です。これは settings.json の仕事。

    整理すると、こうなります。

    守ってほしい書き方・作法 → CLAUDE.md。

    絶対に止めたい操作 → settings.json の permissions.deny か、hook。

    毎回必ず走らせたい処理(編集後のlintなど) → hook。

    ベストプラクティスの言葉を借りると、「Unlike CLAUDE.md instructions which are advisory, hooks are deterministic」。CLAUDE.mdは助言、hookは確定。

    設定ファイルのページには、こんな一文もあります。「Claude Code's system prompt isn't published. To give Claude standing instructions, use CLAUDE.md files」。常に効かせたい指示はCLAUDE.md、止めたい操作は settings。この役割が逆に書かれていたのが、180行の正体でした。

    うちでも同じことをやりました。指示書に「送信前に確認」と書いて素通りされ、直したのは文章ではなく、止める側の仕組みでした。

    画像


    書き方の粒度——確かめられる形にする

    5行に絞っても、書き方で効き方が変わります。

    CLAUDE.mdページの例が分かりやすい。「Format code properly」ではなく「Use 2-space indentation」。「Test your changes」ではなく「Run npm test before committing」。「Keep files organized」ではなく「API handlers live in src/api/handlers/」。

    共通点は、第三者が確かめられること。「ちゃんと」「きれいに」は確かめられない。

    もう1つ、公式が挙げる技があります。1つの指示だけがどうしても飛ばされるなら、その行にだけ「IMPORTANT」を付ける。ただし、多くの行に付けると、どれも目立たなくなる、と書かれています。

    矛盾にも注意。2つの規則が食い違うと、Claudeはどちらかを任意に選ぶ可能性がある、とあります。ネストしたCLAUDE.mdや .claude/rules/ も含めて、定期的に見直す。

    足すタイミングと、確かめ方

    5行から始めて、いつ足すか。公式は4つの合図を挙げています。

    同じ間違いを2回目にしたとき。レビューで「このコードベースなら知っているべきこと」を指摘されたとき。前のセッションと同じ訂正をチャットに打ったとき。新しいメンバーにも同じ前提が要るとき。

    「2回目」が基準です。1回目で足すと、180行への道が始まります。

    足したら、読まれたかを確かめる。セッションで /context を打ち、Memory files の一覧に自分のCLAUDE.mdが載っているかを見る。載っていなければ、Claudeには見えていません。

    最初の1枚を作るなら /init。コードベースを読んで、ビルドやテストの手順を含む下書きを作る。すでにあれば、上書きせず改善案を出す、と書かれています。

    画像


    よくある質問

    「テンプレートを配ってほしい」

    配りません。公式の例が4行で、そこに自分のリポジトリ固有の1行を足すのが、そのままテンプレートです。他人のテンプレートを貼ると、「読めば分かること」が増えます。

    「チームで共有するには?」

    プロジェクトの ./CLAUDE.md か ./.claude/CLAUDE.md をリポジトリに入れる。個人の好みは ~/.claude/CLAUDE.md へ。置き場所の話は別の記事に書きました。

    「settings.json も5行から?」

    はい。permissions の allow に lint と test、deny に .env。まずそれだけで、プロンプトの回数が目に見えて減ります。

    まとめ:CLAUDE.mdのおすすめ設定は、足すより分ける

    5行から始める。読めば分かることは書かない。禁止は settings.json か hook へ。確かめられる粒度で書く。足すのは2回目から。

    今日やるなら、いまのCLAUDE.mdを開いて、「これを消したらClaudeは間違えるか?」を1行ずつ聞くだけでいいです。Noの行を消したあと、/context で読まれているかを見てください。短くなったぶん、残った行が効きます。

    ▶ 関連記事: CLAUDE.mdとは——Claude Codeが毎回読む「あなたの指示」と、Claudeが書く「メモ」の違い

    ▶ 関連記事: CLAUDE.mdとskillsの違い——長い手順書を「いつ使うか」で分けてみる


    Claude Codeを実務で使うための6大特典

    CLAUDE.mdと settings.json の分け方や、止める仕組みの組み方を整理したい方へ、Claude Code実務活用の6大特典をご案内しています。

    👉 Claude Code実務活用の6大特典を確認する

     
     
    Claude Codeガチ勢3人で運営|実務レベルのCLI活用・自動化を毎日発信|開発プログラム参加|賞金30万円獲得|現在は上場企業とAIエージェントを共同開発中|AI時代はコンテキスト/ナレッジ管理が9割|Claude Code学びたい方はフォロー推奨👇

    あなたへのおすすめ