ほとんどのClaude Codeユーザーは
.claude/
フォルダの存在を知っているが、実際に開いたことはないだろう。AIエンジニアのAkshayは、最近このフォルダ内の各ファイルの役割と、Claudeをあなたのやり方に完全に合わせて動作させるための設定方法を解説した完全ガイドを整理した。
二つのフォルダは一つではない
まず、よくある誤解を解いておく:
.claude/
フォルダは二つあり、一つではない。
プロジェクトレベル(あなたのプロジェクト/.claude/):チーム共有の設定を保存し、Gitにコミットして全員が同じルールやコマンドを共有できるようにする
グローバルレベル(~/.claude/):個人の好みや複数プロジェクトにまたがる設定を保存し、自分のマシンだけに影響する
CLAUDE.md:最も重要なファイル
Claude Codeの作業セッションを開始するたびに、Claudeは最初に
CLAUDE.md
を読み込み、それをシステムプロンプト(system prompt)に反映させる。対話全体を通じて、その指示に従い続ける。
書き込むべき内容:
ビルド、テスト、リントのコマンド(例: npm run test)
重要なアーキテクチャの決定事項
明示されにくい注意点(例:「TypeScriptのstrictモードを有効にすると、未使用の変数はエラーになる」)
命名規則やエラーハンドリングのスタイル
書き込むべきでない内容:linterの設定ルールや完全なドキュメント、長すぎる理論的説明
Akshayは、CLAUDE.mdを200行以内に抑えることを推奨している——これを超えると、Claudeの指示遵守率は実際に低下する。これは、コンテキストの消費が多すぎるためだ。
rules/フォルダ:モジュール化されたコマンド、チーム拡張に適している
CLAUDE.mdがどんどん肥大化していくと、
.claude/rules/
が解決策となる。各Markdownファイルは一つの関心点を表し、例としてcode-style.md、testing.md、api-conventions.mdなどがあり、Claudeはこれらすべてを自動的に読み込む。
さらに強力なのは「パス範囲ルール」:ルールファイルにYAMLの前置きデータを追加することで、そのルールを特定のパスのファイルだけに適用させ、不要なルールがコンテキストを圧迫しないようにできる。
commands/フォルダ:カスタムスラッシュコマンド
.claude/commands/に置かれた各Markdownファイルは一つのスラッシュコマンドになる。review.mdは/project:reviewに対応し、fix-issue.mdは/project:fix-issueに対応する。
最も便利な機能は、コマンドファイル内で
!
記法を使ってシェルコマンドを実行し、その出力を埋め込むことだ——例えば、git diffを自動的に取得してプロンプトに注入し、Claudeが「あなたのコードの変更を実際に見て」理解できるようにする。~/.claude/commands/に置かれた個人用コマンドは、すべてのプロジェクトで共通して使える。
skills/とagents/:自動トリガーとサブエージェントの指定
Skillsとagentsの核心的な違いは、トリガーの仕方にある。
Skills:Claudeは対話内容を見て自動的に呼び出すかどうかを判断し、手動でコマンドを入力する必要はない。各skillは独自のディレクトリとSKILL.mdを持ち、サポートファイルを添付できる。
Agents:専門的なサブエージェントの人格を定義し、独立したシステムプロンプト、ツールの権限、モデル設定を持つ。複雑なタスクの場合、Claudeは隔離されたコンテキストウィンドウをspawnし、エージェントに実行させる。これにより、メインの作業セッションが大量のトークンで圧迫されるのを防ぐ。
Agentsの
tools
欄は、サブエージェントの行動範囲を制限できる——例えば、セキュリティ監査用のエージェントは読み取り権限だけを持ち、書き込み権限は持たないべきだ。model欄は、焦点を絞ったタスクに軽量なモデルを選び、コストを節約できる。
settings.json:許可リストと拒否リスト
.claude/settings.json
は、Claudeに許可または禁止された操作を制御する。
allowリスト:直接実行可能で確認不要(例: npm run *、git *)
denyリスト:完全にブロック(例: rm -rf *、.envの読み取り)
リストにない操作:Claudeは続行するかどうかを尋ねる。
個人設定は
.claude/settings.local.json
に置くことができ、自動的に.gitignoreに追加され、リポジトリにはコミットされない。
どこから始めるべきか?
Akshayの推奨する実用的なステップは、まず
/init
を実行して初期のCLAUDE.mdを生成し、settings.jsonで基本的な権限を設定、その後、最もよく使うカスタムコマンドを一つか二つ作成し、あとは使いながら徐々に追加していくことだ。
核心的なポイントは:
.claude/
フォルダは、あなたがClaudeに「あなたは誰か」「プロジェクトは何か」「どんなルールを守るべきか」を伝えるための合意だ。設定を明確にすればするほど、Claudeの修正にかかる時間は少なくなる。
この記事は、「.claude/」フォルダを理解する:Claude Codeの中枢、CLAUDE.md、コマンド、スキル、権限の完全解説を最も早く紹介したものである。最初に掲載されたのは、鏈新聞 ABMediaである。