Claude Code の設定
3 つのファイルがプロジェクトごとに Claude Code をセットアップします。コンテキスト用の CLAUDE.md、ツール用の MCP サーバー、ワークフロー用のスラッシュコマンド。一つの階層で、すべてのセッションに対応。
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。
問題: 新しい Claude Code セッションはプロジェクトについて何も知らないため、汎用的な回答を返します。
クイックウィン: CLAUDE.md をプロジェクトルートに置けば、次のセッションから一言も入力しないうちにそのファイルを読み込みます。
結果: 回答がテンプレートのようなチュートリアルっぽいものでなく、実際のスタックに合ったものになります。
3 つのファイルがほとんどの作業を担います。CLAUDE.md は Claude にコンテキストを与えます。MCP サーバーはツールを与えます。スラッシュコマンドはワークフローを与えます。一度設定すれば、どこでも再利用できます。
設定ファイルを作成する
2 つのコマンドで開始します。
touch CLAUDE.md # プロジェクトルート - 必須
mkdir -p .claude/commands # カスタムワークフロー - 任意これがすべての骨格です。あとは内容を埋めます。
CLAUDE.md (必須)
これをプロジェクトルートに置きます。Claude はセッション開始時に毎回読み込みます。
# [プロジェクト名] - 開発コンテキスト
## このプロジェクトの概要
[アプリの目的を 2 文で説明]
## 技術スタックとバージョン
- Frontend: React 18.2.0 with TypeScript 5.0
- Backend: Node.js with Express or Next.js App Router
- Database: PostgreSQL 15 with Prisma ORM
- Styling: Tailwind CSS 3.4
## ファイル構成
src/
├── app/ # Next.js pages (App Router)
├── components/ # Reusable UI components
├── lib/ # Utilities and configurations
└── types/ # TypeScript definitions
## 現在のスプリント目標
- [ ] ユーザー認証システム
- [ ] ユーザーデータを表示するダッシュボード
- [ ] CRUD 操作用の API エンドポイント
## 許可なく触らないもの
- package.json の依存関係 (先に確認する)
- データベースのマイグレーション (変更内容を説明する)
- 本番環境の環境変数成功確認: Claude が次の返答で、聞かれていないのにスタックとスプリント目標を言及します。
MCP サーバー (高度な機能)
MCP (Model Context Protocol) サーバーは Claude に実際のツールを追加します。グローバル設定 ~/.claude/settings.json に記述します。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem"],
"env": {
"ACCESS_DIRECTORIES": "/Users/yourname/projects"
}
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
}
}
}
}これで得られること:
- ファイルの直接読み書き
- GitHub リポジトリの検索
- プロジェクトドキュメントへのアクセス
- コード全体のパターン認識
成功確認: Claude が何も貼り付けなくてもファイルを開き GitHub にアクセスできるようになります。
スラッシュコマンド (再利用可能なワークフロー)
.claude/commands/ 以下の任意の Markdown ファイルがスラッシュコマンドになります。ファイルに名前を付けるだけで、そのコマンドが使えるようになります。
デバッグワークフロー (.claude/commands/debug.md):
# デバッグワークフロー
デバッグ時:
1. エラーを独立して再現する
2. ブラウザのコンソールとネットワークタブを確認する
3. 実行をトレースするために console.log を追加する
4. 最小限のデータでテストする
5. git log で最近の変更を確認する
6. 主要なアーキテクチャ変更を提案する前に確認を取るテスト生成 (.claude/commands/test.md):
# テスト生成ガイドライン
新しい関数の場合:
1. Jest/Vitest でユニットテストを書く
2. ハッピーパスとエッジケースをテストする
3. 外部依存関係をモックする
4. わかりやすいテスト名を使う
5. クリティカルパスで 80% のカバレッジを目指す使い方: 任意のセッションで /debug または /test と入力すると、Claude がそのワークフローを実行します。
成功確認: Claude が毎回同じ文書化されたステップに従います。
よくある設定の問題と解決策
| エラー | 解決策 |
|---|---|
| "MCP server not responding" | settings.json のトークン権限とディレクトリパスを確認する |
| "Context window exceeded" | CLAUDE.md を 10KB 以下に抑える。必要に応じて複数ファイルに分割する |
| "Claude forgot my project details" | CLAUDE.md がプロジェクトルート (.claude/ フォルダではない) に存在するか確認する |
| "Generic responses despite configuration" | /init を実行して CLAUDE.md を再生成するか、明示的に参照する |
CLAUDE.md が重くなったら分割します。ルートファイルを短く保ち、残りのファイルへのリンクを記述します。
# メイン CLAUDE.md (短く保つ)
参照先:
- .claude/database-schema.md (詳細なスキーマ)
- .claude/api-patterns.md (エンドポイントの規約)settings.json のスコープシステム
CLAUDE.md の他に、Claude Code は権限、環境変数、デフォルトモデル、ツールの動作に settings.json ファイルを使用します。4 つのスコープが重なり、より狭いスコープが優先されます。
| スコープ | 場所 | 影響範囲 | 共有? |
|---|---|---|---|
| Managed | システムレベルの managed-settings.json | マシン上のすべてのユーザー | あり (IT 部門が展開) |
| User | ~/.claude/settings.json | すべてのプロジェクトにわたる自分 | なし |
| Project | .claude/settings.json | リポジトリのすべての共同作業者 | あり (git にコミット) |
| Local | .claude/settings.local.json | このリポジトリ内の自分のみ | なし (gitignore に登録) |
優先順位 (上から下): Managed > コマンドライン引数 > Local > Project > User。Managed 設定は常に優先されるため、会社のポリシーが適用され続けます。
settings.json の先頭に $schema を追加すると、VS Code、Cursor、またはその他の JSON スキーマ対応エディタで自動補完と検証が利用できます。
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": ["Bash(npm run lint)", "Bash(npm run test *)"],
"deny": ["Read(./.env)", "Read(./.env.*)", "Read(./secrets/**)"]
},
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1"
}
}Claude Code はすべての設定編集にタイムスタンプを付け、最新の 5 件のバックアップを保持するため、誤った保存でも何も失いません。
主要な設定カテゴリ
各カテゴリには専用の詳細ガイドがあります。概要は以下の通りです。
- 権限 (Permissions): Claude が使用するツール、読み取るファイル、実行するコマンドを制御します。ルールは
allow、deny、askの下に記述します。 - サンドボックス (Sandbox): bash コマンドをファイルシステムとネットワークから OS レベルで隔離します。
/sandboxまたはsandbox.enabledでオンにします。 - Attribution: コミットと PR の
Co-Authored-Byトレーラーを保持または削除します。コミットと PR は個別に設定できます。 - プラグイン (Plugins): マーケットプレイスからスキル、エージェント、フック、MCP サーバーを取り込みます。
enabledPluginsとextraKnownMarketplacesで制御します。 - モデル (Model):
--modelを毎回渡す代わりに、modelキーでデフォルトを固定します。 - ステータスライン (Status Line): 持続するバーにコンテキスト使用量、git ブランチ、モデル名、コストをリアルタイム表示します。
- キーバインド (Keybindings):
/keybindingsでキーを再バインドします。~/.claude/keybindings.jsonに書き込まれます。
必須の環境変数
環境変数により Claude Code を最も細かく制御できます。シェルプロファイルに設定するか、インラインで渡すか、settings.json の env キーに記述します。知っておく価値のあるもの:
| 変数 | 機能 |
|---|---|
ANTHROPIC_MODEL | デフォルトモデルを設定 (例: claude-sonnet-4-20250514) |
CLAUDE_CODE_MAX_OUTPUT_TOKENS | レスポンスごとの最大出力トークン数。デフォルト: 32,000。最大: 64,000 |
MAX_THINKING_TOKENS | 拡張思考バジェットを制御。デフォルト: 31,999。0 に設定で無効化 |
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE | 特定のコンテキスト % (1-100) で自動コンパクションをトリガー |
CLAUDE_CODE_SUBAGENT_MODEL | メインモデルとは別にサブエージェントのモデルを設定 |
BASH_DEFAULT_TIMEOUT_MS | 長時間実行する bash コマンドのデフォルトタイムアウト |
BASH_MAX_OUTPUT_LENGTH | 切り詰め前の bash 出力の最大文字数 |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | 一つの変数で自動更新、テレメトリ、エラーレポート、バグレポートを無効化 |
DISABLE_AUTOUPDATER | 自動更新のみを無効化 (1 に設定) |
CLAUDE_CODE_ENABLE_TASKS | false に設定すると以前の TODO リストシステムに戻る |
MAX_MCP_OUTPUT_TOKENS | MCP ツールレスポンスの最大トークン数 (デフォルト: 25,000) |
MCP_TIMEOUT | MCP サーバー起動のタイムアウト (ミリ秒) |
CLAUDE_CODE_SHELL | シェルの自動検出を上書き |
CLAUDE_CONFIG_DIR | 設定ファイルとデータファイルをカスタムディレクトリに保存 |
HTTP_PROXY / HTTPS_PROXY | プロキシサーバーを通じて接続をルーティング |
適用する方法は 3 つあります。一時的なセッションにはインラインで:
ANTHROPIC_MODEL=claude-sonnet-4-20250514 claude~/.bashrc または ~/.zshrc に追加して永続的に:
export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80
export MAX_THINKING_TOKENS=10000または settings.json に記述してすべての実行に適用:
{
"env": {
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80",
"MAX_THINKING_TOKENS": "10000"
}
}約 70 個の環境変数が存在します。設定リファレンスに完全なリストがあり、ターミナルセットアップガイドでは改行と通知について説明しています。
グローバル設定とプロジェクト設定
グローバル設定 (~/.claude/settings.json):
- MCP サーバーの設定
- 個人の設定とモデルのデフォルト
- 普遍的なコーディング標準
プロジェクト設定 (プロジェクトルート):
CLAUDE.md: プロジェクトのコンテキストとルール.claude/commands/: カスタムスラッシュコマンド.claude/settings.json: チームで共有する権限、フック、MCP サーバー.claude/settings.local.json: このプロジェクトの個人的な上書き設定 (gitignore に登録)
優先順位を再確認: Managed > Local > Project > User。/init を実行すると Claude がスターターの CLAUDE.md を書いてくれます。
モノリポで作業している場合や、リポジトリ間で標準を共有したい場合、--add-dir フラグを使って Claude に追加ディレクトリの CLAUDE.md ファイルを読み込ませることができます。
次のステップ
Claude Code の設定が完了しました。ここからは:
- 設定済みのセットアップの上で最初のプロジェクトを構築する
- ターミナル制御のテクニックを学ぶ
- コンテキスト管理の戦略を深掘りする
- 人気リストからさらに MCP サーバーを追加する
- 問題が発生したらトラブルシューティングガイドを参照する
プロのヒント: CLAUDE.md を常に最新に保ちましょう。スタックは変わり、優先度はシフトし、スプリントの目標はローテーションします。変化したらファイルを更新してください。Claude は提供するコンテキストと同じだけしか機能しません。
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。