Claude Code チュートリアル
開発ワークフローでClaude Codeを効果的に使用するための実践的な例とパターン。
このガイドでは、Claude Codeを使用した一般的なワークフローのステップバイステップのチュートリアルを提供します。各チュートリアルには、Claude Codeを最大限に活用するための明確な手順、コマンド例、ベストプラクティスが含まれています。
目次
- 新しいコードベースを理解する
- 効率的にバグを修正する
- コードをリファクタリングする
- テストを扱う
- プルリクエストを作成する
- ドキュメントを扱う
- 画像を扱う
- 拡張思考を使用する
- プロジェクトメモリを設定する
- Model Context Protocol (MCP)を設定する
- Claudeをunixスタイルのユーティリティとして使用する
- カスタムスラッシュコマンドを作成する
新しいコードベースを理解する
コードベースの概要を素早く把握する
使用するタイミング: 新しいプロジェクトに参加し、その構造を素早く理解する必要がある場合。
プロジェクトのルートディレクトリに移動
Claude Codeを起動
高レベルの概要を要求
特定のコンポーネントについて詳しく調べる
ヒント:
- 広範な質問から始めて、特定の領域に絞り込む
- プロジェクトで使用されているコーディング規約とパターンについて質問する
- プロジェクト固有の用語集を要求する
関連するコードを見つける
使用するタイミング: 特定の機能や機能に関連するコードを見つける必要がある場合。
Claudeに関連ファイルを見つけてもらう
コンポーネント間の相互作用についてのコンテキストを取得
実行フローを理解する
ヒント:
- 探しているものについて具体的に説明する
- プロジェクトのドメイン言語を使用する
効率的にバグを修正する
エラーメッセージを診断する
使用するタイミング: エラーメッセージに遭遇し、その原因を見つけて修正する必要がある場合。
エラーをClaudeと共有
修正の提案を求める
修正を適用
ヒント:
- エラーを再現するコマンドとスタックトレースをClaudeに伝える
- エラーを再現するための手順を説明する
- エラーが断続的か一貫しているかをClaudeに伝える
コードをリファクタリングする
レガシーコードを最新化する
使用するタイミング: 古いコードを最新のパターンとプラクティスを使用するように更新する必要がある場合。
リファクタリングが必要なレガシーコードを特定
リファクタリングの推奨事項を取得
変更を安全に適用
リファクタリングを検証
ヒント:
- 最新のアプローチのメリットについてClaudeに説明を求める
- 必要な場合は後方互換性を維持するように要求する
- リファクタリングは小さく、テスト可能な単位で行う
テストを扱う
テストカバレッジを追加する
使用するタイミング: カバーされていないコードにテストを追加する必要がある場合。
テストされていないコードを特定
テストの雛形を生成
意味のあるテストケースを追加
テストを実行して検証
ヒント:
- エッジケースとエラー条件をカバーするテストを要求する
- 適切な場合は単体テストと統合テストの両方を要求する
- テスト戦略についてClaudeに説明を求める
プルリクエストを作成する
包括的なPRを生成する
使用するタイミング: 変更内容について十分に文書化されたプルリクエストを作成する必要がある場合。
変更内容を要約
ClaudeでPRを生成
レビューと改善
テストの詳細を追加
ヒント:
- Claudeに直接PRの作成を依頼する
- Claudeが生成したPRを提出前にレビューする
- 潜在的なリスクや考慮事項を強調するようClaudeに依頼する
ドキュメントを扱う
コードドキュメントを生成する
使用するタイミング: コードのドキュメントを追加または更新する必要がある場合。
ドキュメント化されていないコードを特定
ドキュメントを生成
レビューと強化
ドキュメントを検証
ヒント:
- 希望するドキュメントスタイル(JSDoc、docstringsなど)を指定する
- ドキュメントに例を含めるよう要求する
- パブリックAPI、インターフェース、複雑なロジックのドキュメントを要求する
画像を扱う
画像とスクリーンショットを分析する
使用するタイミング: コードベースで画像を扱う必要がある場合や、画像内容の分析でClaudeの助けが必要な場合。
会話に画像を追加
以下のいずれかの方法を使用できます:
Claudeに画像の分析を依頼
コンテキストとして画像を使用
視覚的コンテンツからコードの提案を得る
ヒント:
- テキストでの説明が不明確または煩雑な場合は画像を使用する
- エラー、UIデザイン、図表のスクリーンショットをより良いコンテキストのために含める
- 会話で複数の画像を扱うことができる
- 画像分析は図表、スクリーンショット、モックアップなどで機能する
拡張思考を使用する
複雑なタスクにClaudeの拡張思考を活用する
使用するタイミング: 複雑なアーキテクチャの決定、困難なバグ、または深い推論を必要とする複数ステップの実装の計画に取り組む場合。
コンテキストを提供してClaudeに考えてもらう
Claudeはコードベースから関連情報を収集し、インターフェースに表示される拡張思考を使用します。
フォローアップの問いかけで思考を洗練させる
拡張思考を最大限活用するためのヒント:
拡張思考は以下のような複雑なタスクに最も価値があります:
- 複雑なアーキテクチャの変更の計画
- 複雑な問題のデバッグ
- 新機能の実装計画の作成
- 複雑なコードベースの理解
- 異なるアプローチ間のトレードオフの評価
思考を促す方法によって、思考の深さのレベルが異なります:
- “think”は基本的な拡張思考をトリガーします
- “think more”、“think a lot”、“think harder”、“think longer”などの強調フレーズは、より深い思考をトリガーします
拡張思考のプロンプトに関するより多くのヒントについては、拡張思考のヒントを参照してください。
Claudeは思考プロセスをイタリック体のグレーテキストで応答の上に表示します。
プロジェクトメモリを設定する
効果的なCLAUDE.mdファイルを作成する
使用するタイミング: 重要なプロジェクト情報、規約、頻繁に使用するコマンドを保存するためのCLAUDE.mdファイルを設定したい場合。
コードベース用のCLAUDE.mdをブートストラップする
ヒント:
- 頻繁に使用するコマンド(ビルド、テスト、リント)を含めて、繰り返しの検索を避ける
- コードスタイルの設定と命名規則を文書化する
- プロジェクト固有の重要なアーキテクチャパターンを追加する
- CLAUDE.mdファイルは以下のいずれかに追加できます:
- Claudeを実行するフォルダ:そのフォルダで開始する会話に自動的に追加されます
- 子ディレクトリ:Claudeは必要に応じてこれらを取り込みます
- ~/.claude/CLAUDE.md:ソースコントロールにチェックインしたくないユーザー固有の設定
Model Context Protocol (MCP)を設定する
Model Context Protocol (MCP)は、LLMが外部ツールとデータソースにアクセスできるようにするオープンプロトコルです。詳細については、MCPドキュメントを参照してください。
サードパーティのMCPサーバーは自己責任で使用してください。MCPサーバーを信頼していることを確認し、 特にインターネットと通信するMCPサーバーを使用する場合は、プロンプトインジェクションのリスクにさらされる可能性があるため、 特に注意してください。
MCPサーバーを設定する
使用するタイミング: Model Context Protocolを使用して、特殊なツールと外部サーバーに接続することでClaudeの機能を強化したい場合。
MCP Stdioサーバーを追加
MCPサーバーを管理
ヒント:
-s
または--scope
フラグを使用して、設定の保存場所を指定します:local
(デフォルト):現在のプロジェクトでのみあなたが利用可能(古いバージョンではproject
と呼ばれていました)project
:.mcp.json
ファイルを介してプロジェクト内の全員と共有user
:すべてのプロジェクトであなたが利用可能(古いバージョンではglobal
と呼ばれていました)
-e
または--env
フラグで環境変数を設定(例:-e KEY=value
)- MCP_TIMEOUT環境変数を使用してMCPサーバーの起動タイムアウトを設定(例:
MCP_TIMEOUT=10000 claude
で10秒のタイムアウトを設定) - Claude Code内で
/mcp
コマンドを使用していつでもMCPサーバーのステータスを確認可能 - MCPはクライアントサーバーアーキテクチャに従い、Claude Code(クライアント)は複数の特殊なサーバーに接続可能
MCPサーバースコープを理解する
使用するタイミング: 異なるMCPスコープの動作方法とチームとサーバーを共有する方法を理解したい場合。
ローカルスコープのMCPサーバー
デフォルトのスコープ(local
)は、プロジェクト固有のユーザー設定にMCPサーバー設定を保存します。これらのサーバーは、現在のプロジェクトで作業している間、あなたのみが利用可能です。
プロジェクトスコープのMCPサーバー(.mcp.json)
プロジェクトスコープのサーバーは、プロジェクトのルートにある.mcp.json
ファイルに保存されます。このファイルはチームとサーバーを共有するためにバージョン管理にチェックインする必要があります。
これにより、以下の構造の.mcp.json
ファイルが作成または更新されます:
ユーザースコープのMCPサーバー
ユーザースコープのサーバーは、マシン上のすべてのプロジェクトであなたが利用可能で、あなた専用です。
ヒント:
- 同じ名前のサーバーの場合、ローカルス
コープのサーバーがプロジェクトスコープとユーザースコープのサーバーよりも優先されます
- 同じ名前のサーバーの場合、プロジェクトスコープのサーバー(
.mcp.json
内)がユーザースコープのサーバーよりも優先されます - セキュリティのため、Claude Codeは
.mcp.json
からのプロジェクトスコープのサーバーを使用する前に承認を求めます .mcp.json
ファイルはチームとMCPサーバーを共有するためにバージョン管理にチェックインすることを意図しています- プロジェクトスコープのサーバーを使用すると、チームの全員が同じMCPツールにアクセスできるようになります
- プロジェクトスコープのサーバーの有効/無効の選択をリセットする必要がある場合は、
claude mcp reset-project-choices
コマンドを使用します
PostgresのMCPサーバーに接続する
使用するタイミング: クエリとスキーマ検査のためにPostgreSQLデータベースへの読み取り専用アクセスをClaudeに提供したい場合。
PostgresのMCPサーバーを追加
Claudeでデータベースにクエリを実行
ヒント:
- PostgresのMCPサーバーは安全のため読み取り専用アクセスを提供します
- Claudeはデータベース構造の探索と分析クエリの実行を支援できます
- これを使用して、不慣れなプロジェクトのデータベーススキーマを素早く理解できます
- 接続文字列には、必要最小限の権限を持つ適切な認証情報を使用してください
JSON設定からMCPサーバーを追加する
使用するタイミング: Claude CodeにMCPサーバーの単一のJSON設定を追加したい場合。
JSONからMCPサーバーを追加
サーバーが追加されたことを確認
ヒント:
- シェルでJSONが適切にエスケープされていることを確認してください
- JSONはMCPサーバー設定スキーマに準拠している必要があります
-s global
を使用して、プロジェクト固有の設定ではなくグローバル設定にサーバーを追加できます
Claude DesktopからMCPサーバーをインポートする
使用するタイミング: すでにClaude DesktopでMCPサーバーを設定済みで、手動で再設定することなく同じサーバーをClaude Codeで使用したい場合。
Claude Desktopからサーバーをインポート
インポートするサーバーを選択
コマンドを実行すると、インポートしたいサーバーを選択できる インタラクティブなダイアログが表示されます。
サーバーがインポートされたことを確認
ヒント:
- この機能はmacOSとWindows Subsystem for Linux (WSL)でのみ動作します
- これらのプラットフォームの標準的な場所からClaude Desktop設定ファイルを読み込みます
-s global
フラグを使用してグローバル設定にサーバーを追加します- インポートされたサーバーはClaude Desktopと同じ名前を持ちます
- 同じ名前のサーバーが既に存在する場合、数字のサフィックスが付加されます(例:
server_1
)
Claude CodeをMCPサーバーとして使用する
使用するタイミング: Claude Code自体をMCPサーバーとして使用し、他のアプリケーションがClaudeのツールと機能にアクセスできるようにしたい場合。
ClaudeをMCPサーバーとして起動
他のアプリケーションから接続
Claude Code MCPサーバーには、Claude Desktopなど任意のMCPクライアントから接続できます。Claude Desktopを使用している場合は、以下の設定でClaude Code MCPサーバーを追加できます:
ヒント:
- サーバーはView、Edit、LSなどのClaudeのツールへのアクセスを提供します
- Claude Desktopで、ディレクトリ内のファイルの読み取り、編集などをClaudeに依頼してみてください
- このMCPサーバーは単にClaude CodeのツールをあなたのMCPクライアントに公開するだけなので、個々のツール呼び出しのユーザー確認の実装はクライアント側の責任です
Claudeをunixスタイルのユーティリティとして使用する
検証プロセスにClaudeを追加する
使用するタイミング: Claude Codeをリンターやコードレビューアーとして使用したい場合。
手順:
ビルドスクリプトにClaudeを追加
パイプイン、パイプアウト
使用するタイミング: データをClaudeにパイプで送り、構造化された形式でデータを返してもらいたい場合。
Claudeを通してデータをパイプ
カスタムスラッシュコマンドを作成する
Claude Codeは、特定のプロンプトやタスクを素早く実行するためのカスタムスラッシュコマンドの作成をサポートしています。
プロジェクト固有のコマンドを作成する
使用するタイミング: チームの全メンバーが使用できる、プロジェクト用の再利用可能なスラッシュコマンドを作成したい場合。
プロジェクトにコマンドディレクトリを作成
各コマンド用のMarkdownファイルを作成
Claude Codeでカスタムコマンドを使用
ヒント:
- コマンド名はファイル名から派生します(例:
optimize.md
は/project:optimize
になります) - コマンドはサブディレクトリで整理できます(例:
.claude/commands/frontend/component.md
は/project:frontend:component
になります) - プロジェクトコマンドはリポジトリをクローンする全員が利用できます
- Markdownファイルの内容は、コマンドが呼び出されたときにClaudeに送信されるプロンプトになります
$ARGUMENTSでコマンド引数を追加する
使用するタイミング: ユーザーから追加の入力を受け付ける柔軟なスラッシュコマンドを作成したい場合。
$ARGUMENTSプレースホルダーを含むコマンドファイルを作成
issue番号を指定してコマンドを使用
これにより、プロンプト内の$ARGUMENTSが”123”に置き換えられます。
ヒント:
- $ARGUMENTSプレースホルダーはコマンドに続く任意のテキストに置き換えられます
- $ARGUMENTSはコマンドテンプレートの任意の位置に配置できます
- その他の有用な用途:特定の関数のテストケースの生成、コンポーネントのドキュメント作成、特定のファイルのコードレビュー、指定された言語へのコンテンツの翻訳
個人用スラッシュコマンドを作成する
使用するタイミング: すべてのプロジェクトで機能する個人用スラッシュコマンドを作成したい場合。
ホームフォルダにコマンドディレクトリを作成
各コマンド用のMarkdownファイルを作成
個人用カスタムコマンドを使用
ヒント:
- 個人用コマンドは
/project:
ではなく/user:
というプレフィックスが付きます - 個人用コマンドはあなただけが使用でき、チームとは共有されません
- 個人用コマンドはすべてのプロジェクトで機能します
- これらを使用して、異なるコードベース間で一貫したワークフローを維持できます
次のステップ
Claude Codeリファレンス実装
開発コンテナのリファレンス実装をクローンしてください。
Was this page helpful?