このドキュメントの各タスクには、Claude Codeを最大限に活用するための明確な手順、コマンド例、ベストプラクティスが含まれています。

新しいコードベースを理解する

コードベースの概要を素早く把握する

新しいプロジェクトに参加したばかりで、その構造を素早く理解する必要があるとします。

1

プロジェクトのルートディレクトリに移動する

cd /path/to/project 
2

Claude Codeを開始する

claude 
3

高レベルな概要を求める

> このコードベースの概要を教えて 
4

特定のコンポーネントをより深く掘り下げる

> ここで使用されている主要なアーキテクチャパターンを説明して 
> 主要なデータモデルは何ですか?
> 認証はどのように処理されていますか?

ヒント:

  • 広範な質問から始めて、特定の領域に絞り込む
  • プロジェクトで使用されているコーディング規約とパターンについて尋ねる
  • プロジェクト固有の用語の用語集を求める

関連するコードを見つける

特定の機能や機能性に関連するコードを見つける必要があるとします。

1

Claudeに関連ファイルを見つけてもらう

> ユーザー認証を処理するファイルを見つけて 
2

コンポーネントがどのように相互作用するかのコンテキストを得る

> これらの認証ファイルはどのように連携していますか? 
3

実行フローを理解する

> フロントエンドからデータベースまでのログインプロセスを追跡して 

ヒント:

  • 探しているものについて具体的に説明する
  • プロジェクトのドメイン言語を使用する

バグを効率的に修正する

エラーメッセージに遭遇し、その原因を見つけて修正する必要があるとします。

1

エラーをClaudeと共有する

> npm testを実行するとエラーが発生します 
2

修正の推奨事項を求める

> user.tsの@ts-ignoreを修正するいくつかの方法を提案して 
3

修正を適用する

> 提案されたnullチェックを追加するためにuser.tsを更新して 

ヒント:

  • 問題を再現するコマンドをClaudeに伝え、スタックトレースを取得する
  • エラーを再現する手順があれば言及する
  • エラーが断続的か一貫しているかをClaudeに知らせる

コードをリファクタリングする

古いコードを現代的なパターンと実践に更新する必要があるとします。

1

リファクタリング対象のレガシーコードを特定する

> コードベース内の非推奨API使用を見つけて 
2

リファクタリングの推奨事項を得る

> utils.jsを現代的なJavaScript機能を使用するようにリファクタリングする方法を提案して 
3

変更を安全に適用する

> 同じ動作を維持しながらutils.jsをES2024機能を使用するようにリファクタリングして 
4

リファクタリングを検証する

> リファクタリングされたコードのテストを実行して 

ヒント:

  • Claudeに現代的なアプローチの利点を説明してもらう
  • 必要に応じて後方互換性を維持するよう変更を要求する
  • 小さく、テスト可能な増分でリファクタリングを行う

テストを扱う

カバーされていないコードにテストを追加する必要があるとします。

1

テストされていないコードを特定する

> NotificationsService.swiftでテストでカバーされていない関数を見つけて 
2

テストの骨組みを生成する

> 通知サービスのテストを追加して 
3

意味のあるテストケースを追加する

> 通知サービスのエッジ条件のテストケースを追加して 
4

テストを実行して検証する

> 新しいテストを実行して失敗があれば修正して 

ヒント:

  • エッジケースとエラー条件をカバーするテストを求める
  • 適切な場合は単体テストと統合テストの両方を要求する
  • Claudeにテスト戦略を説明してもらう

プルリクエストを作成する

変更について十分に文書化されたプルリクエストを作成する必要があるとします。

1

変更を要約する

> 認証モジュールに加えた変更を要約して 
2

ClaudeでPRを生成する

> prを作成して 
3

レビューして改良する

> セキュリティ改善についてより多くのコンテキストでPR説明を強化して 
4

テストの詳細を追加する

> これらの変更がどのようにテストされたかについての情報を追加して 

ヒント:

  • ClaudeにPRを作成してもらうよう直接依頼する
  • 提出前にClaudeが生成したPRをレビューする
  • Claudeに潜在的なリスクや考慮事項を強調してもらう

ドキュメントを扱う

コードのドキュメントを追加または更新する必要があるとします。

1

文書化されていないコードを特定する

> authモジュールで適切なJSDocコメントがない関数を見つけて 
2

ドキュメントを生成する

> auth.jsの文書化されていない関数にJSDocコメントを追加して 
3

レビューして強化する

> より多くのコンテキストと例で生成されたドキュメントを改善して 
4

ドキュメントを検証する

> ドキュメントがプロジェクト標準に従っているかチェックして 

ヒント:

  • 希望するドキュメントスタイル(JSDoc、docstringsなど)を指定する
  • ドキュメントに例を求める
  • パブリックAPI、インターフェース、複雑なロジックのドキュメントを要求する

画像を扱う

コードベースで画像を扱う必要があり、Claudeに画像コンテンツの分析を手伝ってもらいたいとします。

1

会話に画像を追加する

以下のいずれかの方法を使用できます:

  1. Claude Codeウィンドウに画像をドラッグ&ドロップする
  2. 画像をコピーしてctrl+vでCLIに貼り付ける(cmd+vは使用しない)
  3. 画像パスをclaudeに提供する。例:「この画像を分析して:/path/to/your/image.png」
2

Claudeに画像を分析してもらう

> この画像は何を示していますか?
> このスクリーンショットのUI要素を説明して
> この図に問題のある要素はありますか?
3

コンテキストに画像を使用する

> これはエラーのスクリーンショットです。何が原因ですか?
> これは現在のデータベーススキーマです。新機能のためにどのように修正すべきですか?
4

視覚的コンテンツからコードの提案を得る

> このデザインモックアップに合うCSSを生成して
> このコンポーネントを再現するHTMLの構造は何ですか?

ヒント:

  • テキストでの説明が不明確または煩雑な場合は画像を使用する
  • より良いコンテキストのためにエラー、UIデザイン、図のスクリーンショットを含める
  • 会話で複数の画像を扱うことができる
  • 画像分析は図、スクリーンショット、モックアップなどで機能する

拡張思考を使用する

複雑なアーキテクチャの決定、困難なバグ、または深い推論を必要とする複数ステップの実装計画に取り組んでいるとします。

1

コンテキストを提供してClaudeに考えてもらう

> APIにOAuth2を使用した新しい認証システムを実装する必要があります。コードベースでこれを実装する最良のアプローチについて深く考えてください。 

Claudeはコードベースから関連情報を収集し、 拡張思考を使用します。これはインターフェースで表示されます。

2

フォローアッププロンプトで思考を洗練する

> このアプローチの潜在的なセキュリティ脆弱性について考えて 
> 処理すべきエッジケースについてもっと深く考えて 

拡張思考から最大の価値を得るためのヒント:

拡張思考は以下のような複雑なタスクに最も価値があります:

  • 複雑なアーキテクチャ変更の計画
  • 複雑な問題のデバッグ
  • 新機能の実装計画の作成
  • 複雑なコードベースの理解
  • 異なるアプローチ間のトレードオフの評価

思考を促すプロンプトの方法により、思考の深さのレベルが変わります:

  • 「考えて」は基本的な拡張思考をトリガーする
  • 「もっと考えて」、「たくさん考えて」、「もっと深く考えて」、「もっと長く考えて」などの強化フレーズはより深い思考をトリガーする

拡張思考プロンプトのより多くのヒントについては、拡張思考のヒントを参照してください。

Claudeは思考プロセスを応答の上に斜体のグレーテキストとして表示します。


以前の会話を再開する

Claude Codeでタスクに取り組んでいて、後のセッションで中断したところから続ける必要があるとします。

Claude Codeは以前の会話を再開するための2つのオプションを提供します:

  • --continueで最新の会話を自動的に続ける
  • --resumeで会話ピッカーを表示する
1

最新の会話を続ける

claude --continue

これはプロンプトなしで最新の会話をすぐに再開します。

2

非対話モードで続ける

claude --continue --print "タスクを続けて"

--continue--printを使用して、最新の会話を非対話モードで再開します。スクリプトや自動化に最適です。

3

会話ピッカーを表示する

claude --resume

これは以下を表示する対話的な会話セレクターを表示します:

  • 会話開始時刻
  • 初期プロンプトまたは会話要約
  • メッセージ数

矢印キーでナビゲートし、Enterを押して会話を選択します。

ヒント:

  • 会話履歴はマシンにローカルに保存されます
  • 最新の会話への素早いアクセスには--continueを使用する
  • 特定の過去の会話を選択する必要がある場合は--resumeを使用する
  • 再開時、続行前に会話履歴全体が表示されます
  • 再開された会話は元の会話と同じモデルと設定で開始されます

仕組み:

  1. 会話ストレージ:すべての会話は完全なメッセージ履歴とともに自動的にローカルに保存されます
  2. メッセージデシリアライゼーション:再開時、コンテキストを維持するために会話履歴全体が復元されます
  3. ツール状態:以前の会話からのツール使用と結果が保持されます
  4. コンテキスト復元:会話は以前のコンテキストがすべて intact な状態で再開されます

例:

# 最新の会話を続ける
claude --continue

# 特定のプロンプトで最新の会話を続ける
claude --continue --print "進捗を見せて"

# 会話ピッカーを表示
claude --resume

# 非対話モードで最新の会話を続ける
claude --continue --print "テストを再実行して"

Git worktreeで並列Claude Codeセッションを実行する

Claude Codeインスタンス間で完全なコード分離を持って複数のタスクを同時に作業する必要があるとします。

1

Git worktreeを理解する

Git worktreeを使用すると、同じリポジトリから複数のブランチを 別々のディレクトリにチェックアウトできます。各worktreeは 同じGit履歴を共有しながら、分離されたファイルを持つ独自の作業 ディレクトリを持ちます。詳細は公式Git worktree ドキュメントを参照してください。

2

新しいworktreeを作成する

# 新しいブランチで新しいworktreeを作成 
git worktree add ../project-feature-a -b feature-a

# または既存のブランチでworktreeを作成
git worktree add ../project-bugfix bugfix-123

これはリポジトリの別の作業コピーを持つ新しいディレクトリを作成します。

3

各worktreeでClaude Codeを実行する

# worktreeに移動 
cd ../project-feature-a

# この分離された環境でClaude Codeを実行
claude
4

別のworktreeでClaudeを実行する

cd ../project-bugfix
claude
5

worktreeを管理する

# すべてのworktreeをリスト
git worktree list

# 完了時にworktreeを削除
git worktree remove ../project-feature-a

ヒント:

  • 各worktreeは独自の独立したファイル状態を持ち、並列Claude Codeセッションに最適です
  • 一つのworktreeで行われた変更は他に影響せず、Claudeインスタンス間の干渉を防ぎます
  • すべてのworktreeは同じGit履歴とリモート接続を共有します
  • 長時間実行されるタスクでは、一つのworktreeでClaudeを作業させながら、別のworktreeで開発を続けることができます
  • どのworktreeがどのタスク用かを簡単に識別できるよう、説明的なディレクトリ名を使用してください
  • プロジェクトのセットアップに従って、各新しいworktreeで開発環境を初期化することを忘れないでください。スタックによって、これには以下が含まれる場合があります:
    • JavaScriptプロジェクト:依存関係のインストールの実行(npm installyarn
    • Pythonプロジェクト:仮想環境の設定またはパッケージマネージャーでのインストール
    • その他の言語:プロジェクトの標準セットアッププロセスに従う

Claudeをunixスタイルのユーティリティとして使用する

検証プロセスにClaudeを追加する

Claude Codeをリンターまたはコードレビューアーとして使用したいとします。

ビルドスクリプトにClaudeを追加:

// package.json
{
    ...
    "scripts": {
        ...
        "lint:claude": "claude -p 'あなたはリンターです。mainとの変更を見て、タイポに関連する問題を報告してください。ファイル名と行番号を1行で、問題の説明を2行目で報告してください。他のテキストは返さないでください。'"
    }
}

ヒント:

  • CI/CDパイプラインでの自動コードレビューにClaudeを使用する
  • プロジェクトに関連する特定の問題をチェックするようプロンプトをカスタマイズする
  • 異なるタイプの検証用に複数のスクリプトを作成することを検討する

パイプイン、パイプアウト

Claudeにデータをパイプして、構造化された形式でデータを取得したいとします。

Claudeを通してデータをパイプ:

cat build-error.txt | claude -p 'このビルドエラーの根本原因を簡潔に説明して' > output.txt

ヒント:

  • パイプを使用してClaudeを既存のシェルスクリプトに統合する
  • 強力なワークフローのために他のUnixツールと組み合わせる
  • 構造化された出力には—output-formatの使用を検討する

出力形式を制御する

特に Claude Code をスクリプトや他のツールに統合する際に、Claude の出力を特定の形式で必要とするとします。

1

テキスト形式を使用する(デフォルト)

cat data.txt | claude -p 'このデータを要約して' --output-format text > summary.txt

これはClaudeのプレーンテキスト応答のみを出力します(デフォルトの動作)。

2

JSON形式を使用する

cat code.py | claude -p 'このコードのバグを分析して' --output-format json > analysis.json

これはコストと期間を含むメタデータ付きのメッセージのJSON配列を出力します。

3

ストリーミングJSON形式を使用する

cat log.txt | claude -p 'このログファイルをエラーのために解析して' --output-format stream-json

これはClaudeがリクエストを処理する際にリアルタイムで一連のJSONオブジェクトを出力します。各メッセージは有効なJSONオブジェクトですが、連結した場合、全体の出力は有効なJSONではありません。

ヒント:

  • Claudeの応答だけが必要な簡単な統合には--output-format textを使用する
  • 完全な会話ログが必要な場合は--output-format jsonを使用する
  • 各会話ターンのリアルタイム出力には--output-format stream-jsonを使用する

カスタムスラッシュコマンドを作成する

Claude Codeは、特定のプロンプトやタスクを素早く実行するために作成できるカスタムスラッシュコマンドをサポートしています。

詳細については、スラッシュコマンドリファレンスページを参照してください。

プロジェクト固有のコマンドを作成する

チームの全メンバーが使用できるプロジェクト用の再利用可能なスラッシュコマンドを作成したいとします。

1

プロジェクトにコマンドディレクトリを作成する

mkdir -p .claude/commands
2

各コマンド用にMarkdownファイルを作成する

echo "このコードのパフォーマンスを分析し、3つの具体的な最適化を提案してください:" > .claude/commands/optimize.md 
3

Claude Codeでカスタムコマンドを使用する

> /project:optimize 

ヒント:

  • コマンド名はファイル名から派生します(例:optimize.md/project:optimizeになります)
  • サブディレクトリでコマンドを整理できます(例:.claude/commands/frontend/component.md/project:frontend:componentになります)
  • プロジェクトコマンドはリポジトリをクローンしたすべての人が利用できます
  • Markdownファイルの内容は、コマンドが呼び出されたときにClaudeに送信されるプロンプトになります

$ARGUMENTSでコマンド引数を追加する

ユーザーからの追加入力を受け入れることができる柔軟なスラッシュコマンドを作成したいとします。

1

$ARGUMENTSプレースホルダーを含むコマンドファイルを作成する

echo "問題 #$ARGUMENTS を見つけて修正してください。以下の手順に従ってください:1.
チケットで説明されている問題を理解する 2. コードベース内の関連コードを見つける 3. 根本原因に対処するソリューションを実装する 4. 適切なテストを追加する 5. 簡潔なPR説明を準備する" >
.claude/commands/fix-issue.md 
2

問題番号でコマンドを使用する

Claudeセッションで、引数付きでコマンドを使用します。

> /project:fix-issue 123 

これはプロンプト内の$ARGUMENTSを「123」に置き換えます。

ヒント:

  • $ARGUMENTSプレースホルダーはコマンドに続くテキストに置き換えられます
  • コマンドテンプレート内の任意の場所に$ARGUMENTSを配置できます
  • その他の有用な応用:特定の関数のテストケース生成、コンポーネントのドキュメント作成、特定ファイルのコードレビュー、指定言語へのコンテンツ翻訳

個人用スラッシュコマンドを作成する

すべてのプロジェクトで動作する個人用スラッシュコマンドを作成したいとします。

1

ホームフォルダにコマンドディレクトリを作成する

mkdir -p ~/.claude/commands 
2

各コマンド用にMarkdownファイルを作成する

echo "このコードのセキュリティ脆弱性をレビューし、以下に焦点を当ててください:" >
~/.claude/commands/security-review.md 
3

個人用カスタムコマンドを使用する

> /user:security-review 

ヒント:

  • 個人用コマンドは/project:の代わりに/user:でプレフィックスされます
  • 個人用コマンドはあなただけが利用でき、チームとは共有されません
  • 個人用コマンドはすべてのプロジェクトで動作します
  • 異なるコードベース間で一貫したワークフローのためにこれらを使用できます

次のステップ

Claude Codeリファレンス実装

開発コンテナリファレンス実装をクローンしてください。