Claude Codeを徹底解説してみた(後編)

Claude Codeを徹底解説してみた(後編)

Clock Icon2025.06.16

こんちには。

データ事業本部 機械学習チームの中村(nokomoro3)です。

今回はClaude Codeを徹底解説したいと思います。

本記事について

私は元々はCursorを使っており、Claude Codeは必要なのか半信半疑だったのですが、試してみた感じエージェントの挙動はかなり期待通りな印象です。実際にCursorではコード補完やCmd + Kをメインに、エージェント的な動きはClaude Codeやるように最近使い分けを始めています。

使用感は主観に寄るところも大きいので文面でお伝えするのは難しいですが、Claude Codeのことを少しでも知ってもらい多くの人に使ってもらるよう、一通りの使い方を記事にしました。

以下の内容で記載しており、盛りだくさんとなっております。

  • Claude Codeの基本的なセットアップ方法から解説
  • 基礎的な使い方から応用(Permission、GitHub連携など)まで使い方を解説
  • コマンド一覧についても一通り一覧で説明

なおBedrock版については既に丁寧な解説があったので今回は試していません。

  • Bedrock版の解説はしない

なお文字数が多すぎたので記事を2つに分けてます。前編(セットアップ、基礎的な使い方)は以下を参照ください。

https://dev.classmethod.jp/articles/get-started-claude-code-1

使用方法(応用編)

MCPサーバーを追加する

MCPサーバーを追加する方法については以下に記載があります。

スラッシュコマンドの /mcp は、MCPサーバーの接続状態を確認するだけですので、MCPサーバーの追加は claude mcp というCLIコマンドで追加が必要です。

AWS DocumentのMCPサーバーを追加してみます。

claude mcp add my-server \
    --scope project \
    -e FASTMCP_LOG_LEVEL=ERROR \
    -e AWS_DOCUMENTATION_PARTITION=aws \
    -- uvx awslabs.aws-documentation-mcp-server@latest
# Added stdio MCP server my-server with command: uvx awslabs.aws-documentation-mcp-server@latest to project config

claude mcp list
# my-server: uvx awslabs.aws-documentation-mcp-server@latest

すると以下のように ./.mcp.json というファイルにMCPサーバーの設定が記述されます。

./.mcp.json
{
  "mcpServers": {
    "my-server": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "awslabs.aws-documentation-mcp-server@latest"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_DOCUMENTATION_PARTITION": "aws"
      }
    }
  }
}

この状態でClaude Codeを起動すると、以下のようにMCPサーバーの設定を読み込むかどうかを問われます。

╭──────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                              │
│ New MCP server found in .mcp.json: my-server                                                 │
│                                                                                              │
│ MCP servers may execute code or access system resources. All tool calls require approval.    │
│ Learn more in the MCP documentation (​https://docs.anthropic.com/s/claude-code-mcp​).        │
│                                                                                              │
│ ❯ 1. Use this and all future MCP servers in this project                                     │
│   2. Use this MCP server                                                                     │
│   3. Continue without using this MCP server                                                  │
│                                                                                              │
╰──────────────────────────────────────────────────────────────────────────────────────────────╯
   Enter to confirm · Esc to reject

使用する選択をした後で /mcp コマンドで接続状態を確認できます。

> /mcp

╭──────────────────────────────────────────────────────────────────────────────────────────────╮
│ Manage MCP servers                                                                           │
│                                                                                              │
│ ❯ 1. my-server  ✔ connected · Enter to view details                                          │
╰──────────────────────────────────────────────────────────────────────────────────────────────╯

選択すると、さらにMCPサーバーの詳細が確認できます。

╭──────────────────────────────────────────────────────────────────────────────────────────────╮
│ My-server MCP Server                                                                         │
│                                                                                              │
│ Status: ✔ connected                                                                          │
│ Command: uvx                                                                                 │
│ Args: awslabs.aws-documentation-mcp-server@latest                                            │
│ Capabilities: tools                                                                          │
│ Tools: 3 tools                                                                               │
│                                                                                              │
│ ❯ 1. View tools                                                                              │
╰──────────────────────────────────────────────────────────────────────────────────────────────╯

MCPサーバーが備えるツール一覧を確認することも可能です。

╭──────────────────────────────────────────────────────────────────────────────────────────────╮
│ Tools for my-server (3 tools)                                                                │
│                                                                                              │
│ ❯ 1. read_documentation                                                                      │
│   2. search_documentation                                                                    │
│   3. recommend                                                                               │
╰──────────────────────────────────────────────────────────────────────────────────────────────╯

試しに最新のAWSアップデートについて聞いてみましょう。
(途中、MCPサーバーのツールを使用する許可をユーザに求めるので、Acceptをします)

> SageMaker Unified Studioは最新のアップデートで、DataZoneからSageMakerドメインへのアップグ
  レードに対応しましたか?

● my-server:search_documentation (MCP)(search_phrase: "SageMaker Unified Studio DataZone
                                      upgrade domain")
  ⎿ {
      "rank_order": 1,
      "url": "https://docs.aws.amazon.com/sagemaker-unified-studio/latest/adminguide/upgrad
    e-domain.html",
      "title": "Upgrade Amazon DataZone domains to Amazon SageMaker unified domains -
    Amazon SageMaker Unified Studio",
      "context": "Before upgrading your Amazon DataZone domain to an Amazon SageMaker
    unified domain, review these important considerations to ensure a smooth upgrade
    process. The upgrade process is available only through the AWS management console.
    Currently, no API support is offered for upgrading your domain. You can initialize the
    upgrade process from the domain details page of your Amazon DataZone domain."
    }
  ⎿ {
      "rank_order": 2,
      "url": "https://docs.aws.amazon.com/datazone/latest/userguide/upgrade-domain.html",
      "title": "Upgrade Amazon DataZone domains to Amazon SageMaker unified domains -
    Amazon DataZone",
      "context": "Before upgrading your Amazon DataZone domain to an Amazon SageMaker
    unified domain, review these important considerations to ensure a smooth upgrade
    process. The upgrade process is available only through the AWS management console.
    Currently, no API support is offered for upgrading your domain. You can initialize the
    upgrade process from the domain details page of your Amazon DataZone domain."
    }
  ⎿ {
      "rank_order": 3,
      "url": "https://docs.aws.amazon.com/sagemaker-unified-studio/latest/adminguide/create
    -domain-datazone.html",
      "title": "Create an Amazon DataZone domain - Amazon SageMaker Unified Studio",
      "context": "Complete the following procedure to create a Amazon SageMaker Unified
    Studio domain with the quick setup option."
    }
  ⎿ {
      "rank_order": 4,
      "url": "https://docs.aws.amazon.com/sagemaker-unified-studio/latest/adminguide/workin
    g-with-domains.html",
      "title": "Domains in Amazon SageMaker Unified Studio - Amazon SageMaker Unified
    Studio",
      "context": "Learn about working with domains in Amazon SageMaker Unified Studio."
    }
  ⎿ {
      "rank_order": 5,
      "url": "https://docs.aws.amazon.com/sagemaker-unified-studio/latest/adminguide/create
    -domain-sagemaker-unified-studio-manual.html",
      "title": "Create a Amazon SageMaker Unified Studio domain - manual setup - Amazon
    SageMaker Unified Studio",
      "context": "Complete the following procedure to create a Amazon SageMaker Unified
    Studio domain with the quick setup option."
    }
  ⎿ {
      "rank_order": 6,
      "url": "https://docs.aws.amazon.com/sagemaker-unified-studio/latest/adminguide/domain
    -units.html",
      "title": "Domain units and authorization policies in Amazon SageMaker Unified Studio
    - Amazon SageMaker Unified Studio",
      "context": "Working with domain units and authorization policies in Amazon SageMaker
    Unified Studio"
    }
  ⎿  {
       "rank_order": 7,
       "url":
     "https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/domain.html",
       "title": "Domain - Amazon SageMaker Unified Studio",
       "context": "Domain can be initialized using the following command."
     }
  ⎿ {
      "rank_order": 8,
      "url": "https://docs.aws.amazon.com/sagemaker-unified-studio/latest/adminguide/delete
    -domain.html",
      "title": "Delete domains - Amazon SageMaker Unified Studio",
      "context": "When deleting a domain, note that the act of deleting a domain is final.
    Another important note to remember is that not all items created by Amazon SageMaker
    Unified Studio are deleted. The following items can only be deleted in their service
    consoles:"
    }
  ⎿ {
      "rank_order": 9,
      "url": "https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet
    -access.html",
      "title": "Connect Studio notebooks in a VPC to external resources - Amazon SageMaker
    AI",
      "context": "The following topic gives information about how to connect Studio
    Notebooks in a VPC to external resources."
    }
  ⎿ {
      "rank_order": 10,
      "url": "https://docs.aws.amazon.com/sagemaker-unified-studio/latest/adminguide/associ
    ated-accounts.html",
      "title": "Associated accounts in Amazon SageMaker Unified Studio - Amazon SageMaker
    Unified Studio",
      "context": "Learn about associated accounts in Amazon SageMaker Unified Studio."
    }

● my-server:read_documentation (MCP)(url: "https://docs.aws.amazon.com/sagemaker-unified-st
                                    udio/latest/adminguide/upgrade-domain.html")
  ⎿ AWS Documentation from https://docs.aws.amazon.com/sagemaker-unified-studio/latest/admi
    nguide/upgrade-domain.html:

    # Upgrade Amazon DataZone domains to Amazon SageMaker unified domains

    … +67 lines (ctrl+r to expand)

● はい、SageMaker Unified Studioは最新のアップデートでDataZoneからSageMakerドメインへのアッ
  プグレードに対応しています。

  アップグレード機能の特徴:
  - AWSコンソールから実行可能(API未対応)
  - 既存設定とプロジェクトが引き継がれる
  - DataZoneポータルとUnified Studioの両方が利用可能
  - ドメインバージョンがV1からV2に変更

ただしくMCPサーバーが使用できていることが分かりました。

claude mcp はその他にもコマンドが準備されているので、そちらもご確認してご利用ください。

claude mcp --help

# Usage: claude mcp [options] [command]
# 
# Configure and manage MCP servers
# 
# Options:
#   -h, --help                                     Display help for command
# 
# Commands:
#   serve [options]                                Start the Claude Code MCP server
#   add [options] <name> <commandOrUrl> [args...]  Add a server
#   remove [options] <name>                        Remove an MCP server
#   list                                           List configured MCP servers
#   get <name>                                     Get details about an MCP server
#   add-json [options] <name> <json>               Add an MCP server (stdio or SSE) with a JSON
#                                                  string
#   add-from-claude-desktop [options]              Import MCP servers from Claude Desktop (Mac
#                                                  and WSL only)
#   reset-project-choices                          Reset all approved and rejected project-scoped
#                                                  (.mcp.json) servers within this project
#   help [command]                                 display help for command

claude mcp add-json などは既存のMCP設定ファイルからの読み込みなどもできるので、便利そうですね。

Permissionについて

Permissionでは、コマンド実行などのより広範な権限をClaude Codeに与えることができます。

Permissionについては以下に記載があります。

おおきくは、以下のようなAllowルールとDenyのルールがあります。

  • Allowルール
    • Claude Code がユーザの手動承認を経ることなく指定されたツールを使用することを許可する。
  • Denyルール
    • Claude Code が指定されたツールを使用できないようにする。拒否ルールは許可ルールより優先される。

これらのルールは、以下のツールに対して設定することができます。

Tool Description Permission Required
Agent Runs a sub-agent to handle complex, multi-step tasks No
Bash Executes shell commands in your environment Yes
Edit Makes targeted edits to specific files Yes
Glob Finds files based on pattern matching No
Grep Searches for patterns in file contents No
LS Lists files and directories No
MultiEdit Performs multiple edits on a single file atomically Yes
NotebookEdit Modifies Jupyter notebook cells Yes
NotebookRead Reads and displays Jupyter notebook contents No
Read Reads the contents of files No
TodoRead Reads the current session’s task list No
TodoWrite Creates and manages structured task lists No
WebFetch Fetches content from a specified URL Yes
WebSearch Performs web searches with domain filtering Yes
Write Creates or overwrites files Yes

Permission Requiredが「No」のツールについては、特に設定せずともClaude Codeが実行することができるものです。

逆に、Permission Requiredが「Yes」のツールについては明示的にAllowルールが必要となるものです。

そのうち以下は、「auto-accept」が有効な場合は権限として与えられていると考えられます。

Tool Description Permission Required
Edit Makes targeted edits to specific files Yes
MultiEdit Performs multiple edits on a single file atomically Yes
NotebookEdit Modifies Jupyter notebook cells Yes
Write Creates or overwrites files Yes

これらは明示的なAllowルール設定でも許可を与えることもできます。

それ以外の以下は、明示的にAllowルールがない限り、手動承認が必要となります。

Tool Description Permission Required
Bash Executes shell commands in your environment Yes
WebFetch Fetches content from a specified URL Yes
WebSearch Performs web searches with domain filtering Yes

Allowルールは、より細かく権限の範囲を設定することも可能です。例えば以下がその例となります。

  • Bash(git diff:*) : git diffで始まるBashコマンドを許可
  • Edit(docs/**) : プロジェクトのdocsディレクトリにあるファイルの編集を許可
  • Read(~/.zshrc) : ~/.zshrc ファイルの読み込みを許可
  • WebFetch(domain:example.com) : example.com へのフェッチリクエストを許可

ReadおよびEditの権限は、gitignoreの記法に従って記載することが可能です。

また一覧にはありませんでしたが、MCPの権限も以下のように記載することが可能です。

  • mcp__{MCPサーバーの名前}
  • mcp__{MCPサーバーの名前}__{ツール名}

設定方法ですが、以下のように永続的に設定する場合はスラッシュコマンド、一時的に設定する場合はCLIでClaude Code起動時に設定します。

  • スラッシュコマンド(永続的な設定)
    • /permission で設定可能
  • CLIコマンド(REPL起動時に指定する一時的な設定)
    • claude --allowedTools でAllowルールを追加
    • claude --disallowedTools でDenyルールを追加
    • claude --dangerously-skip-permissions で全部の権限を付与

スラッシュコマンドで設定する例で説明しましょう。スラッシュコマンドを実行します。

> /permission

すると以下のような画面となります。

╭──────────────────────────────────────────────────────────────────────────────────────────────╮
│ Permission rules:  Allow   Deny                                                              │
│                                                                                              │
│ Claude Code won't ask before using allowed tools.                                            │
│                                                                                              │
│ ❯ 1. Add a new rule…                                                                         │
│                                                                                              │
╰──────────────────────────────────────────────────────────────────────────────────────────────╯

「Add a new rule」を選択します。すると以下のような画面となるので、ツール名やワイルドカードで記載をします。

╭──────────────────────────────────────────────────────────────────────────────────────────────╮
│ Add allow permission rule                                                                    │
│                                                                                              │
│ Permission rules are a tool name, optionally followed by a specifier in parentheses.         │
│ e.g., WebFetch or Bash(ls:*)                                                                 │
│                                                                                              │
│ ╭──────────────────────────────────────────────────────────────────────────────────────────╮ │
│ │ WebFetch                                                                                 │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                              │
╰──────────────────────────────────────────────────────────────────────────────────────────────╯

どこに追加をするかを聞かれるので、今回はProject settingsを選択します。

╭──────────────────────────────────────────────────────────────────────────────────────────────╮
│ Add allow permission rule                                                                    │
│                                                                                              │
│   WebFetch                                                                                   │
│   Any use of the WebFetch tool                                                               │
│                                                                                              │
│ Where should this rule be saved?                                                             │
│   1. Project settings (local)  Saved in .claude/settings.local.json                          │
│ ❯ 2. Project settings          Checked in at .claude/settings.json                           │
│   3. User settings             Saved in at ~/.claude/settings.json                           │
│                                                                                              │
╰──────────────────────────────────────────────────────────────────────────────────────────────╯

Escキーで設定画面を抜けて完了です。

以下のように .claude/settings.json ファイルに設定が格納されました。

.claude/settings.json
{
  "permissions": {
    "allow": [
      "WebFetch"
    ],
    "deny": []
  }
}

消費するトークンを削減する

コンテキストを削減して消費するトークン量を削減することができます。

以下のコマンドを実行することで、セッション内のここまでのやり取りを要約することができます。

/compact

また特定の内容で要約をしたい場合は、命令を与えることも可能です。

/compact コードサンプルとAPIの使い方を中心に

クロードはコンテキストの容量が95%を超えた場合、デフォルトで /compact を実行してセッションのここまでのやり取りを要約します。

設定を変更するには /config で「Auto-compact」をオフにすることもできます。

また /clear というコマンドもあり、こちらは完全に過去のやり取りを削除することが可能です。

memory(CLAUDE.md)を複数ファイルに分割する

CLAUDE.mdを複数ファイルに分けて記述する方法が以下に記載があります。

CLAUDE.mdファイルは、 @path/to/import を使用して別のファイルをインポートすることができます。

CLAUDE.md
## 開発ガイドライン

@docs/guideline.md を参照してください。

と記載すると、docs/guideline.md もmemoryとして使用することができます。

これらのインポートは最大5階層まで、再帰的にインポートできます。読み込まれているmemoryを確認するには、 /memory コマンドを使うことで確認できます。

> /memory

Memory Files
 L project: CLAUDE.md
            L docs/guideline.md

拡張思考(Extended thinking)について

Claude Code限定ではないのですが、Claude全般で拡張思考という機能を使うことができます。

例えば、複雑なアーキテクチャの決定、困難なバグの解決、または深い思考を要する多段階の実装計画に取り組んでいる場合に、より複雑な思考で処理をしてくれます。

クエリに特定のキーワード(「考えて」⇒「もっと考えて」⇒「しっかり考えて」)を含めることで、拡張思考を促すことができるとの情報があります。

公式ドキュメントでこれらのキーワードまでは見つけられませんでしたので、参考までに試してみてください。

カスタムスラッシュコマンド

スラッシュコマンドはカスタマイズされたものを作成することができます。以下に記載があります。

カスタムスラッシュコマンドを使用すると、よく使用するプロンプトをMarkdownファイルとして定義し、Claude Codeが実行できるようにできます。

コマンドはスコープ(プロジェクト固有または個人用)でそれぞれ作成できます。以下はプロジェクト固有で作成する例です。

.claude/commands/custom-sample.md
与えられた数字の合計を求めて数字だけを返してください。

与えられた数字は $ARGUMENTS 以下です。

以下のように呼び出すことができます。

> /project:custom-sample is running… 1 2 3

● 6

このように引数を設けることができ、 $ARGUMENTS で参照ができます。

Git worktreeについて

チュートリアルに記載がありますがClaude Codeの機能ではなく、gitコマンドのworktreeを使う説明となっています。

Claude Codeとしてはこの機能で、複数のタスクを同時に処理する必要があり、Claude Codeのインスタンス間で完全なコード隔離を保つ必要がある場合に有効である、としています。

例えば以下のようなコマンドを実行します。

git worktree add ../claude-code-trial-bugfix-20250616 -b bugfix-20250616

このコマンドは以下のような操作になります。

  • 元のリポジトリに bugfix-20250616 というブランチが作成される
  • ../claude-code-trial-bugfix-20250616 にリポジトリが複製される
  • ../claude-code-trial-bugfix-20250616 側で bugfix-20250616 がチェックアウトされた状態となる

これが一連で実行できるので、以下でフォルダを移動して並行してclaudeに作業させることができます。

cd ../claude-code-trial-bugfix-20250616
claude

ワークツリー側と元のリポジトリは ./git フォルダを共有しているので、ワークツリー側でのcommitは元のリポジトリにも反映されます。

ワークツリーを削除するには、元のフォルダでremoveを実行します。

git worktree remove ../claude-code-trial-bugfix-20250616

(普通に git worktree を知らなかったので便利ですね…)

GitHub Actionsとの連携 (Claude Code Action)

Claude CodeはGitHub Actions内で使用することができます。このアクションを「Claude Code Action」と言います。

Pull RequestやIssueに @claude をメンションすることで、Claudeはコードを分析し、プルリクエストを作成、機能の実装、バグの修正を実行します。

前提条件として以下が必要ですので、ご注意ください。

  • GitHub側にpushされている必要がある
  • GitHub CLIが使用できる
  • GitHub CLIが認証済みである

私はGitHub CLIをセットアップしていなかったため、以下に従って導入していきます。

CLIをセットアップできたら認証していきます。

gh auth login

# ? What account do you want to log into? GitHub.com
# ? What is your preferred protocol for Git operations on this host? HTTPS
# ? Authenticate Git with your GitHub credentials? Yes
# ? How would you like to authenticate GitHub CLI? Login with a web browser

よしなにやって、以下が表示されていればOKです。

get-started-claude-code_2025-06-16-10-31-54

準備が整いましたのでClaude Codeを起動後、セットアップは /install-github-app コマンドで実施できます。

claude

> /install-github-app

リポジトリを選択します。

╭───────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Install GitHub App                                                                                │
│ Select GitHub repository                                                                          │
│                                                                                                   │
│ > Use current repository: cm-nakamura-shogo/claude-code-trial                                     │
│                                                                                                   │
│   Enter a different repository                                                                    │
│                                                                                                   │
╰───────────────────────────────────────────────────────────────────────────────────────────────────╯

以下のようにメッセージが表示されましたが、WSLの場合ブラウザが開けませんでした。

╭───────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Install the Claude GitHub App                                                                     │
│                                                                                                   │
│ Opening browser to install the Claude GitHub App…                                                 │
│                                                                                                   │
│ Please install the app for repository: cm-nakamura-shogo/claude-code-trial                        │
│                                                                                                   │
│ Important: Make sure to grant access to this specific repository                                  │
│                                                                                                   │
│ Press Enter once you've installed the app…                                                        │
╰───────────────────────────────────────────────────────────────────────────────────────────────────╯

ですので、以下に直接アクセスしてinstallをします。

installするリポジトリを選択します。

get-started-claude-code_2025-06-16-10-43-04

Claude Codeの画面に戻って先に進みます。

╭───────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Select GitHub workflows to install                                                                │
│ We'll create a workflow file in your repository for each one you select.                          │
│                                                                                                   │
│  ✓  @Claude Code                                                                                  │
│     Tag @claude in issues and PR comments                                                         │
│                                                                                                   │
│  ✓  Claude Code Review                                                                            │
│     Automated code review on new PRs                                                              │
╰───────────────────────────────────────────────────────────────────────────────────────────────────╯

進むとAPIキーを入れる必要があります。(つまり従量課金になるので注意が必要です)

╭───────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Install GitHub App                                                                                │
│ Choose API key                                                                                    │
│                                                                                                   │
│ > Enter a new API key                                                                             │
│                                                                                                   │
│ sk-ant… (Create a new key at https://console.anthropic.com/settings/keys)                         │
╰───────────────────────────────────────────────────────────────────────────────────────────────────╯

APIキーは以下の画面から「Start building」を選択して、ログインする必要があります。

ここでも料金が必要になりますので、ご注意ください。

get-started-claude-code_2025-06-16-10-49-55

APIキーを入手できたら、Claude Codeの画面に戻って貼り付けて進みます。

しばらく待つとインストールが完了します。

╭───────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Install GitHub App                                                                                │
│ Success                                                                                           │
│                                                                                                   │
│ ✓ GitHub Actions workflow created!                                                                │
│                                                                                                   │
│ ✓ API key saved as ANTHROPIC_API_KEY secret                                                       │
│                                                                                                   │
│ Next steps:                                                                                       │
│ 1. A pre-filled PR page has been created                                                          │
│ 2. Install the Claude GitHub App if you haven't already                                           │
│ 3. Merge the PR to enable Claude PR assistance                                                    │
╰───────────────────────────────────────────────────────────────────────────────────────────────────╯

ここまで実施すると、GitHub側にブランチが以下のように作成されています。(なぜか2件重複してきてましたが、同じ内容なので1件で本来OKなはずです)

get-started-claude-code_2025-06-16-11-03-09

こちらのブランチのPull Requestを作成して、取り込みます。

しばらく待つと完了するので、適当なIssueを作成して依頼を投げてみます。

get-started-claude-code_2025-06-16-11-09-50

すると処理が始まります。

get-started-claude-code_2025-06-16-11-10-54

一通り変更が完了しました。

get-started-claude-code_2025-06-16-11-16-56

PRの作成はこちらで実施します。作成するとレビューも自動的に実施します。

get-started-claude-code_2025-06-16-11-18-05

今回は英語でレスポンスが返ってきていますが、以下の部分を日本語に直せば日本語でレスポンスを返してくれると考えられます。

.github/workflows/claude.yml
          # Optional: Add custom instructions for Claude to customize its behavior for your project
          # custom_instructions: |
          #   Follow our coding standards
          #   Ensure all new code has tests
          #   Use TypeScript for new files
.github/workflows/claude-code-review.yml
          # Direct prompt for automated review (no @claude mention needed)
          direct_prompt: |
            Please review this pull request and provide feedback on:
            - Code quality and best practices
            - Potential bugs or issues
            - Performance considerations
            - Security concerns
            - Test coverage

            Be constructive and helpful in your feedback.

またClaude Code Actionを使わなくても、GitHub CLIをインストールすることで以下のコマンドを使用することが可能です。

  • /review : 作成されているPRのレビューを実行する
  • /pr-comments : PRのコメントを取得する

Anthropic APIの従量課金が気になる方は、こちらから始めてみるのも良いと思います。

参考: BedrockのClaudeでClaude Codeを使用する

Bedrockで始めるには、以下のような環境変数を設定して claude を叩けばOKです。

# 環境変数の設定の一例
export CLAUDE_CODE_USE_BEDROCK=1

詳細は以下も参照ください。

参考: ccusageで従量課金だったらどのくらいの料金になるか確認する

こちらは公式ツールではないので、自己責任でご利用をお願いします。

以下で作成された ccusage を使うことで、どのくらいのトークン量で従量課金だった場合のコストなのかを確認することができます。

npx ccusage@latest

 WARN  Fetching latest model pricing from LiteLLM...                                                                                                                                                                                                                     ccusage 6:38:56 PM

ℹ Loaded pricing for 1060 models                                                                                                                                                                                                                                        ccusage 6:38:56 PM

 ╭──────────────────────────────────────────╮
 │                                          │
 │  Claude Code Token Usage Report - Daily  │
 │                                          │
 ╰──────────────────────────────────────────╯

┌──────────────┬──────────────┬──────────────┬──────────────┬──────────────┬──────────────┬────────────┐
│ Date         │        Input │       Output │ Cache Create │   Cache Read │ Total Tokens │ Cost (USD) │
├──────────────┼──────────────┼──────────────┼──────────────┼──────────────┼──────────────┼────────────┤
│ 2025-06-10   │          976 │       12,106 │      248,004 │      565,093 │      826,179 │      $1.28 │
├──────────────┼──────────────┼──────────────┼──────────────┼──────────────┼──────────────┼────────────┤
│ ──────────── │ ──────────── │ ──────────── │ ──────────── │ ──────────── │ ──────────── │ ────────── │
├──────────────┼──────────────┼──────────────┼──────────────┼──────────────┼──────────────┼────────────┤
│ Total        │          976 │       12,106 │      248,004 │      565,093 │      826,179 │      $1.28 │
└──────────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┴────────────┘

詳細

スラッシュコマンドの一覧

以下にスラッシュコマンドの一覧が記載されています。

コマンド 説明
/bug Claude Codeに関するフィードバックを送信します
/clear 会話履歴を消去し、コンテキストを解放します
/compact 会話履歴を消去しますが、要約をコンテキストに残します。オプション: /compact [要約の指示]
/config 設定パネルを開きます
/cost 現在のセッションの総コストと期間を表示します
/doctor Claude Codeのインストールの状態を確認します
/exit REPLを終了します
/help ヘルプと利用可能なコマンドを表示します
/ide IDE連携を管理し、状態を表示します
/init コードベースのドキュメントを含む新しいCLAUDE.mdファイルを初期化します
/install-github-app リポジトリにClaude GitHub Actionsを設定します
/login Anthropicアカウントでサインインします
/logout Anthropicアカウントからサインアウトします
/mcp MCPサーバーの接続状態を表示します
/memory Claudeのメモリファイルを編集します
/migrate-installer グローバルnpmインストールからローカルインストールに移行します
/model Claude CodeのAIモデルを設定します
/permissions ツールの許可・拒否ルールを管理します
/pr-comments GitHubプルリクエストからコメントを取得します
/release-notes リリースノートを表示します
/review プルリクエストをレビューします
/status バージョン、モデル、アカウント、API接続性、ツールステータスなどClaude Codeの状態を表示します
/terminal-setup 改行のためのShift+Enterキーバインドをインストールします
/upgrade より高いレート制限とより多くのOpusを利用するためにMaxにアップグレードします
/vim Vim編集モードと通常編集モードを切り替えます

ほとんどはここまでで説明してきましたが、覚えておいた方が便利そうなのは以下かなと思いました。

  • /model: モデルを切り替えることができます
  • /login : ログインしなおす場合には必要(定額サブスクリプションに変更した場合などは再実行が必要)
  • /logout : ログインしなおす場合には必要(定額サブスクリプションに変更した場合などは再実行が必要)

CLIコマンドの一覧

CLIでの使い方としては、以下のような使い方が公式ドキュメントで紹介されています。

コマンド 説明
claude 対話型REPLを開始 claude
claude "query" 初期プロンプトを指定してREPLを開始 claude "このプロジェクトを説明して"
claude -p "query" 1回限りのクエリを実行し、終了 claude -p "この関数を説明して"
cat file | claude -p "query" パイプされた内容を処理 cat logs.txt | claude -p "説明して"

起動時にクエリを指定したり、1回限りのクエリを実行して別のコマンドに渡したり、標準入力を受け付けたりすることもできます。

claude --help で確かめたCLIの一覧は以下です。

オプション 説明
-d, --debug デバッグモードを有効にする。
--verbose 設定ファイルの詳細モード設定を上書きする。
-p, --print 応答を出力して終了する(パイプ処理に便利)。
--output-format <format> 出力形式(--print と併用時のみ有効)。text (デフォルト), json (単一結果), stream-json (リアルタイムストリーミング) から選択。
--input-format <format> 入力形式(--print と併用時のみ有効)。text (デフォルト), stream-json (リアルタイムストリーミング入力) から選択。
--mcp-debug 【非推奨】 MCPデバッグモードを有効にする(--debug を使用)。
--dangerously-skip-permissions すべての権限チェックをバイパスする。インターネットアクセスがないサンドボックス環境でのみ推奨。
--allowedTools <tools...> 許可するツール名のリストをカンマまたはスペース区切りで指定する。
--disallowedTools <tools...> 拒否するツール名のリストをカンマまたはスペース区切りで指定する。
--mcp-config <file or string> JSONファイルまたは文字列からMCPサーバーを読み込む。
-c, --continue 直近の会話を続ける。
-r, --resume [sessionId] 会話を再開する。セッションIDを指定するか、対話形式で選択する。
--model <model> 現在のセッションで使用するモデルを指定する。
--add-dir <directories...> ツールがアクセスすることを許可する追加のディレクトリを指定する。
-v, --version バージョン番号を出力する。
-h, --help コマンドのヘルプを表示する。

公式ドキュメントにも一覧はありますが、今のところ一部しか記載されてないようですのでご注意ください。

公式情報

基本的にはnpmのアップデートが先行しており、ドキュメントは整備が追い付いていない、かつ情報が網羅的でないケースがあるので注意が必要です。

適宜、helpをコマンドで打つ方が最新の情報を得ることができます。

CHANGELOGも毎バージョンは記載されていない、かつ使用方法には言及しないので、参考程度となります。
/release-notes コマンドもCHANGELOGと内容と同じとなります)

公式ドキュメントは日付だけなので、いつのバージョンの断面かはっきりしないので参考程度にしましょう。

公式のチュートリアルは以下となります。

以下もベストプラクティスとして参考になります。

まとめ

いかがでしたでしょうか。

本記事がClaude Codeをこれから使おうと思ってる方のお役に立てば幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.