Claude Code 解説書 — Thread 3 of 8
導入と日常ワークフロー
インストールから始まり、バグ修正・テスト・PR作成まで——
Claude Codeを日常の開発サイクルに組み込むための実践ガイド
3.1インストールと初回起動
Claude Codeを動かすためにまず必要なのは、自分の開発環境にCLI(コマンドラインインターフェース=テキスト入力でコンピュータを操作する画面)をインストールすることだ。 公式には3つのインストール方法が用意されている。
環境別インストール手順
図3-1 — 3つのインストール方法。ネイティブインストールが推奨(自動アップデート対応)
初回起動とログイン
インストールが完了したら、作業したいプロジェクトのディレクトリ(フォルダ)に移動し、claude と入力するだけで起動する。
# プロジェクトディレクトリに移動
cd /path/to/your/project # Claude Codeを起動 claude
初回起動時にはログイン画面が表示される。Claude Pro/Max/Teams/Enterpriseのサブスクリプション、Anthropic Console(APIアクセス用の開発者コンソール)、またはAmazon Bedrock・Google Vertex AI等のサードパーティ経由で認証できる。一度ログインすれば認証情報はローカルに保存され、以降は自動的にログイン状態が維持される。
ポイント:Claude Codeはプロジェクトディレクトリの中で起動する。これにより、Claude Codeはそのプロジェクトのファイル、Git状態、CLAUDE.md(プロジェクト固有の設定ファイル)をすべて自動認識する。
Desktop Appは、Claude Codeをターミナルなしで使えるスタンドアロンのGUIアプリケーションだ。ビジュアルdiffレビュー、複数セッションの並列管理、埋め込みブラウザプレビューなどの機能が統合されている。macOSとWindowsに対応している。
ダウンロードとインストール
図3-1D — Desktop Appの導入は3ステップ。CLIツールのインストールは不要
初回セットアップ
Desktop Appを起動すると、まずプロンプトエリアで3つの項目を設定する。
| 設定項目 | 説明 |
|---|---|
| Environment | Local(ローカルマシン)、Remote(Anthropicクラウド)、またはSSH接続(リモートマシン)から選択 |
| Project | 作業対象のプロジェクトフォルダを選択。CLAUDE.md、Git状態、MCP設定が自動認識される |
| Permission Mode | 送信ボタン横のモードセレクタで権限を設定。初回は Ask(確認あり)がおすすめ |
ポイント:Desktop AppはTerminal CLIと同じClaude Codeエンジンを使用する。CLAUDE.md、設定、MCP接続はすべての環境で共有される。CLIで始めたセッションを /desktop コマンドでDesktop Appに引き継ぐことも可能。
3.2基本コマンドリファレンス
Claude Codeの操作は大きく2種類に分かれる。起動コマンド(ターミナルから claude に続けて入力するもの)と、セッション内コマンド(対話セッション中に / から始めて入力するもの、スラッシュコマンドと呼ばれる)だ。
図3-2 — Claude Codeの主要コマンド一覧。左が起動コマンド、右がセッション内スラッシュコマンド
キーボードショートカット
| 操作 | キー | 効果 |
|---|---|---|
| 中断 | Esc | Claude の現在の動作を停止(コンテキストは保持) |
| 巻き戻し | Esc×2 / /rewind | チェックポイント(自動保存地点)に戻す |
| モード切替 | Shift+Tab | デフォルト → 自動承認 → Planモード を順に切替 |
| 思考表示 | Ctrl+O | 拡張思考(Claudeの推論過程)の表示を切替 |
| 思考ON/OFF | Alt+T | 拡張思考の有効/無効を切替 |
| ヘルプ | ? | 全キーボードショートカットの表示 |
| タブ補完 | Tab | コマンド補完 |
| 履歴 | ↑ | コマンド履歴を呼び出し |
Desktop Appでは、CLIの起動コマンドに相当する操作がGUIの各要素に対応している。セッション内の / スラッシュコマンドはDesktop Appでもそのまま入力欄に入力できる。ここではDesktop App固有のインターフェース要素を解説する。
Desktop App のインターフェース要素
図3-2D — Desktop AppのGUI要素。左がツールバー機能、右がセッション管理
CLIコマンドとDesktop GUI の対応表
| CLIコマンド | Desktop Appでの操作 |
|---|---|
claude | Code タブでプロジェクトを選択し、プロンプトを入力 |
claude -p "質問" | 通常のプロンプト入力(セッションは維持される) |
claude -c / claude -r | サイドバーの会話履歴から選択 |
claude -w feature-x | 「+」ボタンで新セッション(自動worktree) |
Shift+Tab(モード切替) | 送信ボタン横のドロップダウンメニュー |
claude --permission-mode plan | モードセレクタから Plan mode を選択 |
Esc×2(巻き戻し) | セッションツールバーの巻き戻しボタン |
/desktop | (CLIから実行)CLIセッションをDesktop Appに転送 |
3.3初めてのタスク実行
コマンドを覚えたら、実際にClaude Codeにタスクを依頼してみよう。ここでは「コードベースの理解」「コード変更」「Git操作」という3つの基本操作を順に試す。
コードベースを理解する
新しいプロジェクトに参加したとき、最初にやるべきことはコードの全体像を把握することだ。Claude Codeは、プロジェクトのファイル構造を自動的に読み取り、質問に答えることができる。
実行例:コードベースの把握
以下のように質問するだけで、プロジェクト全体の構造や特定機能の仕組みを把握できる。
give me an overview of this codebaseexplain the main architecture patterns used herehow is authentication handled?trace the login process from front-end to databaseコード変更の依頼と承認フロー
Claude Codeにコード変更を依頼すると、変更の提案 → あなたの承認 → 実際の編集という3ステップで進む。Claude Codeはデフォルトではファイル編集前に必ず確認を求めるため、意図しない変更が勝手に適用されることはない。
図3-3 — コード変更の承認フロー。各ステップでチェックポイントが自動作成される
Desktop Appでも承認フローの基本は同じだが、承認の方法がビジュアルになる。変更は diff stats インジケーター(例:+12 -3)で示され、クリックするとファイルごとの差分をビジュアルに確認できる。差分の任意の行をクリックしてコメントを追加でき、PRを作る前のセルフレビューに使える。
図3-3D — Desktop Appの承認フロー。diff viewerとPreviewパネルでビジュアルに確認
Git操作
Claude CodeはGit(バージョン管理システム)と直接統合されている。コミット(変更の記録)、ブランチ作成、マージコンフリクト(複数の変更が衝突した状態)の解決まで、自然言語で指示できる。
実行例:Git操作
what files have I changed? — 変更ファイルを確認commit my changes with a descriptive message — 適切なメッセージでコミットcreate a new branch called feature/auth — ブランチ作成help me resolve merge conflicts — コンフリクト解決を支援バグ修正の実践例
Claude Codeの真価が発揮されるのがバグ修正だ。エラーメッセージを貼り付けるだけで、Claude Codeは自動的に関連ファイルを探索し、原因を特定し、修正を提案する。
実行例:バグ修正
there's a bug where users can submit empty forms - fix it→ Claude Codeは自律的に以下を実行する:
1. 関連コードの特定(フォーム処理のファイルを検索)
2. コンテキストの理解(バリデーションロジックの確認)
3. 修正の実装(入力チェックの追加)
4. テスト実行(修正が正しく動作するか検証)
3.4日常ワークフロー集
ここでは、開発者が日常的に直面する典型的なタスクをClaude Codeでどう処理するかを紹介する。それぞれのワークフローは「何を言えばよいか」の実例付きだ。
図3-4 — Claude Codeで日常的に行う7つの主要ワークフロー
リファクタリング
リファクタリング(コードの動作を変えずに内部構造を改善すること)では、Claude Codeは既存パターンの検出、最新記法への変換、テストによる動作検証までを一気に実行できる。
実行例:リファクタリング
refactor utils.js to use ES2024 features while maintaining the same behavior→ 非推奨APIの検出 → モダンな記法への置換 → テスト実行で動作を保証
テストの作成と実行
Claude Codeはプロジェクト内の既存テストのスタイル・フレームワーク・アサーションパターンを自動的に読み取り、それに合わせたテストを生成する。
実行例:テスト作成
find functions in NotificationsService.swift that are not covered by testsadd tests for the notification serviceadd test cases for edge conditions in the notification servicerun the new tests and fix any failuresPR(プルリクエスト)の作成
PR(プルリクエスト=コード変更をチームに共有・レビュー依頼する仕組み)はClaude Codeの得意分野だ。変更の要約からPR作成、追加の説明文まで一貫して処理できる。
実行例:PR作成
create a pr for my changes→ これだけで変更要約+PR作成を実行。PRは claude --from-pr 番号 で後から再開可能
ドキュメントの更新
コードのドキュメント作成も日常タスクの一つだ。Claude Codeはソースコードを読み解き、適切なドキュメントコメント(JSDoc、docstring等)を自動生成する。
画像・スクリーンショットの活用
Claude Codeは画像を理解できる。エラーのスクリーンショット、UIデザインモックアップ、データベーススキーマの図などをドラッグ&ドロップ、Ctrl+V(ペースト)、またはファイルパス指定で渡すことができる。
たとえば
デザインモックアップの画像を貼り付けて Generate CSS to match this design mockup と指示すれば、Claude Codeは画像を分析してCSSコードを生成する。UIの実装とデザインの比較を依頼することもできる。
ファイルの直接参照(@記法)
@ を使うと、Claude Codeがファイルを検索する手間を省いて、直接ファイル内容を会話に含めることができる。
実行例
Explain the logic in @src/utils/auth.js — ファイル全文を即座にコンテキストに追加What's the structure of @src/components? — ディレクトリ構造を一覧表示Compare @file1.js and @file2.js — 複数ファイルの同時参照も可能Desktop App 固有のワークフロー
埋め込みブラウザ・プレビュー
Desktop Appの最大の特徴の一つが、Preview パネルだ。Claudeがコードを編集すると、自動的にdevサーバーを起動し、埋め込みブラウザでアプリの動作を確認する。フロントエンドだけでなく、バックエンドAPIのテストやサーバーログの確認も可能。
| 機能 | 説明 |
|---|---|
| 自動検証 | 編集後にClaudeが自動でスクリーンショットを撮り、DOM検査・クリック・フォーム入力で動作を確認 |
| サーバー管理 | Previewドロップダウンからdevサーバーの起動・停止・設定編集が可能 |
| セッション永続化 | Persist sessionsをONにするとCookieやlocalStorageがサーバー再起動後も維持される |
| 設定ファイル | カスタムdevコマンドは .claude/launch.json で設定 |
ビジュアル Diff レビュー
Claudeがファイルを変更すると、diff stats インジケーター(例:+12 -3)が表示される。クリックするとdiff viewerが開き、左側にファイルリスト、右側に各ファイルの変更箇所が表示される。差分の任意の行をクリックしてコメントを追加でき、PRを作る前のセルフレビューに使える。
3.5高度な操作モード
基本的なワークフローに慣れたら、Claude Codeの3つの高度な操作モードを使いこなすことで、安全性・精度・並列性を一段階引き上げることができる。
図3-5 — 3つの操作モードと Shift+Tab による循環切替
Desktop Appでの切り替え:送信ボタン横のモードセレクタ(ドロップダウン)から Ask(デフォルト)/ Auto accept edits / Plan mode を選択する。セッション中いつでも変更可能。CLIの Shift+Tab に相当する操作。なお、CLIにある dontAsk モードはDesktop Appでは利用できない。
Planモード — 安全な分析と計画立案
Planモードは読み取り専用で動作する。コードベースの分析や複雑な変更の計画立案に最適だ。ファイルの読み込み、コード検索、質問への回答は行うが、一切のファイル編集・コマンド実行を行わない。
たとえば:OAuth2移行の計画
claude --permission-mode plan→ Planモードで起動し:I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.
→ Claudeがコードベースを分析し、影響範囲・手順・リスクを含む計画書を作成。
→ Ctrl+G で計画をテキストエディタで直接編集し、承認後にNormalモードへ切り替えて実行。
たとえば:OAuth2移行の計画
送信ボタン横のモードセレクタから Plan mode を選択し:I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.
→ 計画を確認後、モードセレクタを Ask または Auto accept edits に切り替えて実装を開始。
使い分けのコツ:Planモードはスコープが不明確な場合や、複数ファイルにまたがる変更、不慣れなコードの調査に有効。一方、タイポ修正や変数名変更のような小さなタスクにはオーバーヘッドが大きいため、直接依頼する方が効率的。
拡張思考モード(Extended Thinking)
拡張思考(Extended Thinking=Claudeが応答前に内部で段階的に推論するプロセス)はデフォルトで有効になっている。複雑なアーキテクチャ判断、難解なバグ、トレードオフの評価に特に効果を発揮する。
Ctrl+O でverboseモード(詳細表示モード)を有効にすると、Claudeの思考過程がグレーのイタリック文字で表示される。Opus 4.6/Sonnet 4.6ではアダプティブ・リーズニング(タスクの難易度に応じて思考量を動的に調整する機能)が使える。/effort コマンドで思考の深さを調整できる。
チェックポイントの活用
Claude Codeはファイル編集前に自動的にチェックポイント(スナップショット)を作成する。Esc×2 または /rewind で巻き戻しメニューが開き、「会話だけ戻す」「コードだけ戻す」「両方戻す」「選択地点から要約」の4つの操作が可能だ。
Claude Codeはファイル編集前に自動的にチェックポイント(スナップショット)を作成する。Desktop Appではセッションツールバーの巻き戻しボタン、またはプロンプト入力欄に /rewind と入力することで、「会話だけ戻す」「コードだけ戻す」「両方戻す」「選択地点から要約」の4つの操作が可能だ。
失敗を恐れない:チェックポイントがあるため、リスクのある変更もまず試してみればよい。うまくいかなければ巻き戻して別のアプローチを試す。チェックポイントはセッションをまたいで永続するため、ターミナルを閉じた後でも巻き戻しが可能。ただし、Claudeが行った変更のみが対象であり、外部プロセスの変更は追跡されない。Gitの代替ではない。
Git Worktreeによる並列セッション
Git worktree(ワークツリー=1つのリポジトリから複数の独立した作業ディレクトリを作る仕組み)を使えば、複数のClaude Codeセッションを同時に走らせることができる。各セッションは独自のファイルコピーとブランチを持つため、変更が衝突しない。
# feature-authという名前でワークツリーを作成し起動 claude --worktree feature-auth # 別ターミナルでもう1つのワークツリーを起動 claude --worktree bugfix-123 # 名前を省略するとランダムに自動生成 claude --worktree
セッション終了時、変更がなければワークツリーは自動削除される。変更がある場合はClaude Codeが保持/削除を確認する。
Desktop Appでは、セッションツールバーの「+」ボタンをクリックするだけで、新しいセッションが自動的に独立したGit worktreeで起動する。各セッションはタブとして表示され、サイドバーで一覧管理できる。たとえば、タブAでfeature-aブランチの開発を進めながら、タブBでバグ修正を並行して行える。
Desktop Appの強み:並列セッションの状態がタブUIで一目で把握でき、切り替えもワンクリック。CLIでは複数ターミナルを手動で管理する必要があるが、Desktop Appではこの点がシンプルになる。
Unix的な活用 — パイプとCI/CD統合
Claude CodeはUnix哲学(composable=小さなツールをパイプで組み合わせる設計思想)に従っている。claude -p(ヘッドレスモード=対話なしの1回限り実行)を使えば、既存のスクリプトやCI/CDパイプライン(コードの自動テスト・自動デプロイの仕組み)に組み込める。
# ログファイルをClaude Codeに渡して分析 tail -200 app.log | claude -p "analyze and summarize errors" # 変更されたファイルだけをレビュー git diff main --name-only | claude -p "review these files for security issues" # JSON形式で出力(スクリプト処理用) claude -p "list all API endpoints" --output-format json # ストリーミングJSON(リアルタイム出力) claude -p "analyze this log" --output-format stream-json
CLIとの連携 — Terminal ↔ Desktop の行き来
Desktop AppはGUIに特化しているため、パイプやCI/CD統合のようなUnix的な活用はTerminal CLIの領域になる。ただし、両者はシームレスに連携できる。
| やりたいこと | 方法 |
|---|---|
| CLIセッションをDesktopに転送 | CLIで /desktop を実行 |
| Web版セッションをDesktopに取り込み | /teleport を実行 |
| スマホから作業指示 | Remote Control(モバイルからCLIへタスクを送信) |
| CI/CDでの自動実行 | Terminal CLIの claude -p を使用(Desktop Appでは不可) |
使い分け:CI/CDパイプラインへの組み込み、シェルスクリプトとの連携、ヘッドレス実行が必要な場合はTerminal CLIを使用する。Desktop Appはビジュアルdiffレビュー、プレビュー、複数セッションの並列管理に強い。両者を組み合わせるのが最も効率的。
3.6ベストプラクティス
ここでは、Anthropic社内チームと多数の外部開発者の経験から蓄積された、Claude Codeを最大限に活用するためのパターンを紹介する。これらのほとんどは1つの制約から導かれている——コンテキストウィンドウ(Claudeが一度に保持できる情報量の枠)は有限であり、満杯に近づくほど性能が低下するということだ。
図3-6 — 効果的なプロンプトの4原則。検証手段の提供が最も高いレバレッジを持つ
プロンプトの悪い例 vs 良い例
✗ 曖昧なプロンプト
"add tests for foo.py"
✓ スコープが明確
"write a test for foo.py covering the edge case where the user is logged out. avoid mocks."
✗ 症状だけ
"the build is failing"
✓ エラーと期待値を明示
"the build fails with this error: [エラー貼付]. fix it and verify the build succeeds. address the root cause."
✗ 手順を指示
"open auth.js, go to line 42, change the if condition to check for null"
✓ 目的を委任
"users report login fails after session timeout. check src/auth/ and fix the root cause. write a failing test first."
セッション管理のコツ
コンテキストウィンドウの効率的な管理は、Claude Codeの性能を維持する上で最も重要な実践だ。
| 状況 | 推奨アクション |
|---|---|
| 別のタスクに移る | /clear でコンテキストをリセット。無関係な情報が残ると性能が低下する |
| 同じミスを2回以上修正した | /clear して、学んだことを反映した新しいプロンプトで再開 |
| コンテキストが自動圧縮された | 重要な決定やファイル情報は保持されるが、初期の指示は失われる可能性。永続的なルールは CLAUDE.md に書く |
| 大規模なコード調査が必要 | サブエージェント(別コンテキストで動作する補助AI)に委任。Use subagents to investigate how our auth handles token refresh |
| 特定部分だけ圧縮したい | /compact Focus on the API changes で焦点を指定して要約 |
| コンテキスト外の小さな質問 | /btw で質問。回答はオーバーレイ表示され、コンテキストを消費しない |
避けるべきアンチパターン
| パターン名 | 症状 | 対策 |
|---|---|---|
| キッチンシンクセッション | 1つのセッションで無関係なタスクを次々と依頼し、コンテキストが雑多な情報で埋まる | タスク切替時に /clear |
| 無限修正ループ | 同じミスを何度も修正させ、失敗アプローチでコンテキストが汚染される | 2回失敗したら /clear + 改良プロンプト |
| 肥大化CLAUDE.md | 指示ファイルが長すぎて重要なルールが埋もれ、Claudeが無視する | 定期的に剪定。Claudeが既に正しく動作する項目は削除 |
| 検証なき信頼 | 見た目正しそうなコードをそのまま出荷し、エッジケースで破綻 | テスト・スクリプト・スクリーンショットで必ず検証 |
| 無限探索 | スコープなしの「調査」で大量ファイルを読み、コンテキストが枯渇 | 調査範囲を限定、またはサブエージェントに委任 |
大機能のための「インタビュー」パターン
規模の大きい機能開発では、いきなりプロンプトを書くのではなく、Claude Codeに自分を「インタビュー」してもらう方法が有効だ。
たとえば
I want to build [概要]. Interview me in detail using the AskUserQuestion tool. Ask about technical implementation, UI/UX, edge cases, and tradeoffs. Keep interviewing until we've covered everything, then write a complete spec to SPEC.md.→ Claudeが技術実装、エッジケース、トレードオフについて質問を重ね、仕様書を作成。
→ 仕様書完成後、新しいセッションで /clear して実装に集中する。
スケールアップ — 複数セッションの並列運用
1人のClaudeで効果を実感したら、複数セッションの並列運用で生産性をさらに引き上げることができる。
たとえばWriter/Reviewerパターン:セッションAでコードを書かせ、セッションBで別のClaude Codeインスタンスにそのコードをレビューさせる。新鮮なコンテキストでレビューするため、自分で書いたコードへの「バイアス」がかからず、品質が向上する。
大規模な一括処理にはファンアウトパターンが有効だ。
# 全対象ファイルのリストを作成
claude -p "list all Python files that need migrating" > files.txt
# 各ファイルに対して並列実行
for file in $(cat files.txt); do
claude -p "Migrate $file from React to Vue. Return OK or FAIL." \
--allowedTools "Edit,Bash(git commit *)"
doneDesktop Appでは「+」ボタンで複数タブを開き、それぞれに異なるタスクを依頼するだけで並列運用が可能。Writer/Reviewerパターンも、タブAで「実装して」→ タブBで「タブAの変更をレビューして」と指示するだけだ。大規模な一括処理(ファンアウトパターン)が必要な場合はTerminal CLIの claude -p をforループで回す方法が適している。
よくある質問
Claude Codeを利用するには、Claude Pro / Max / Teams / Enterprise のいずれかの有料サブスクリプション、またはAnthropic Console(APIアクセス用の開発者コンソール)のアカウントが必要です。Amazon BedrockやGoogle Vertex AI経由での認証にも対応しています。
日常的なコーディング作業にはDesktop AppのビジュアルDiff Viewer・Previewパネル・複数タブ管理が便利です。一方、CI/CDパイプラインへの組み込み、シェルスクリプトとの連携、ヘッドレス実行が必要な場合はTerminal CLIが必須です。両者はシームレスに連携できるため、併用が最も効率的です。
/clear でコンテキストをリセットするか、/compact で焦点を指定して要約する方法があります。コンテキストが自動圧縮された場合、重要な決定やファイル情報は保持されますが、初期の指示は失われる可能性があるため、永続的なルールはCLAUDE.mdに記述するのがベストプラクティスです。
はい。Claude Codeはファイル編集前に自動的にチェックポイントを作成します。Terminal CLIではEsc×2または/rewindコマンド、Desktop Appではセッションツールバーの巻き戻しボタンから、会話・コード・またはその両方を任意の地点まで巻き戻せます。チェックポイントはセッションをまたいで永続するため、ターミナルを閉じた後でも巻き戻しが可能です。
可能です。Git worktreeを使えば、各Claude Codeセッションが独立したファイルコピーとブランチを持つため、変更が衝突しません。Terminal CLIではclaude --worktreeコマンド、Desktop Appでは「+」ボタンで新しいタブを追加するだけです。Writer/Reviewerパターン(セッションAでコード作成、セッションBでレビュー)も効果的な並列運用手法です。