Claude Codeを最大限に活用する推奨ディレクトリ構成ガイド:Rules・Skills・MCPの配置と役割

AI活用

Claude Codeの推奨ディレクトリ構成

Claude Codeは、プロジェクトのルートディレクトリにあるファイルを読み取ることで、開発コンテキストを理解します。基本的には既存のプロジェクト構造を維持しつつ、以下の設定ファイルを追加することで、AIの精度を劇的に向上させることができます。


project-root/
├── .claude/
│   └── mcp-config.json  # プロジェクト固有のMCPサーバー設定
├── CLAUDE.md            # AIへの命令・プロジェクト規約(最重要)
├── .claudignore         # Claudeに読み込ませたくないファイルを指定
├── src/                 # ソースコード
└── package.json         # 依存関係定義
  
[Image: Claude Code configuration file hierarchy]

CLAUDE.md:ルールとスキル(指示)の集約

Claude Codeにおいて、プロジェクト固有の「スキル」や「ルール」を覚えさせる最も標準的な方法は、CLAUDE.mdへの記述です。これにより、Claudeはプロジェクトのビルド方法やコーディングスタイルを即座に理解します。

CLAUDE.mdの具体的な記載例


# Project Specifics
- テックスタック: React, TypeScript, Vite
- 命名規則: コンポーネント名は PascalCase、それ以外は camelCase
- インポート順序: 外部ライブラリ > 内部コンポーネント > スタイル

# Build & Test Commands
- Build: `npm run build`
- Test: `npm test`
- Lint: `npm run lint -- --fix`

# Workflows (Custom Skills as Instructions)
- 新規コンポーネント作成時: `src/components/` 配下にフォルダを作成し、index.tsxとstyle.module.cssを同梱すること。
- コミット前: 必ず `npm test` を実行し、パスしたことを確認してから git commit を提案すること。
  

解説: Claude Codeは起動時にこのファイルを読み込み、定義されたコマンドを /run なしで実行したり、規約に沿ったコード生成を行ったりします。

MCP (Model Context Protocol) の設定

外部ツール(GitHub, データベース, Slack等)と連携するためのMCP設定は、プロジェクト単位で .claude/mcp-config.json に記述できます。これにより、そのプロジェクトを開いている時だけ有効な外部ツールを定義できます。

mcp-config.json の記載例

以下は、GitHub連携とローカルのSQLiteデータベース接続を有効にする例です。


{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_TOKEN_HERE"
      }
    },
    "sqlite": {
      "command": "uvx",
      "args": ["mcp-server-sqlite", "--db-path", "./data/main.db"]
    }
  }
}
  

.claudignore の活用

.gitignore と同様に、Claudeがインデックスを作成したり、読み取ったりする必要のないファイル(巨大なログファイル、ビルド成果物、バイナリデータ等)を .claudignore に記述します。これにより、トークン消費を抑え、レスポンスを速めることができます。


# .claudignore
node_modules/
dist/
*.log
.DS_Store
large-dataset.json