🎊

Claude Codeを使いこなせ!

tl;dr

  • Claude Codeの使い方を網羅的に理解して実践できるようになる記事
  • 日本時間2025年5月23日のCode w/ Claudeのプレゼンがインプット
  • Claude Codeを使うと、プログラミングが得意なエンジニアが1週間かかる作業も2日でできる(実体験)
  • インストールは特にWindowsだとクセがあるので、リンク先参照
  • 初期セットアップ、Code baseについて質問、CLAUDE.md、便利なキー操作を優先して読むと良い

はじめに

日本時間2025年5月23日に開催されたAnthropic社のCode w/ Claude。その中で、Mastering Claude Code in 30 minutesというセッションがありました。
https://www.youtube.com/watch?v=6eBSHbLKuN0
そこに登壇されたのが、Boris Chernyでした。Claude CodeというとCatを見ることが多いですね。CatもClaude Codeへの愛が強めだなと思うのですが、Borisも負けずと我が子のようにClaude Codeを語っていました。彼は本当にテクノロジーが好きだしAIを使ってシステム開発する仕組みを作ることに理想と誇りを持っているのだなとダイレクトに感じたYouTube Liveでした。
そんな彼が、直々にClaude Codeの使い方を説明していました。
とても勉強になりました。
動画で説明されている内容を実際に動かしながら解説できたらと思います。

この記事を読むことによって、Claude Codeの使い方を網羅的に理解して実践できるようになります。

Claude Codeの魅力

私の実体験でいうと、下記のような自分が価値があって実装したいと考えたツールをClaude Codeを使って約2日で初版を実装しきることができました。ご覧になるとわかると思いますが、AI無しだとプログラミングが得意なエンジニアが作ったとしても1週間以上はかかる内容です。
https://github.com/Masa1984a/MCP_Driven_UX_Template
よくゲームのVibe CodingでClaude Codeを試すケースを目にしますが、業務ロジックを含めるシステム開発でも十分戦力になります!

インストール

インストール方法は、npm install -g @anthropic-ai/claude-codeなのですが、WindowsだとWSLといった仮想Linuxが必要で少しクセがあります。いくつかのパターンを下記記事で説明しているので、Windowsの方はぜひ参考になさってください。
https://zenn.dev/acntechjp/articles/963898a51d7a5a

Claude Codeとは

システム開発のAIアシスタントの1つです。SWE(Software engineer)エージェントの1つです。具体的な特徴は下記となります。

  1. Terminal ベースであり、IDE ではない

    • Terminal(ターミナル)とは、コンピューターに文字で命令を打ち込んで操作する画面のことです。黒い画面ですね。一方、IDE(統合開発環境)は、プログラムを書いたり、テストしたりするための様々な便利機能が一つにまとまったソフトウェアです。Claude Code は、この Terminal 上で動作します。
  2. あらゆるツールと連携して動作する

    • GitHubなどの開発用ツールと一緒に使うことができます。
  3. あらゆる既存のワークフローに適合する

    • ワークフロー とは、仕事や作業を進める上での一連の流れのことです。Claude Code は、これまで行っていた作業の進め方を変えることなく、スムーズに導入できます。
  4. 汎用 – ほとんど何にでも使える

    • Claude Code は、様々な種類のタスクや作業に活用できるAIアシスタントです。
  5. 無限にHackable

    • 「Hackable」とは、ユーザーが自分の好みに合わせてカスタマイズしたり、機能を変更・拡張したりすることがしやすい、という意味合いで使われます。つまり、Claude Code は非常に柔軟性が高く、ユーザーが自由に手を加えて使い方を広げられるということですね。特にこの辺、Claude Codeは考えて作りこまれていると思います。

初期セットアップ

様々なコマンドが説明されました。

  • /allowed-tools

    • どのツールに対してClaude Codeの利用を許可するか拒否するかが設定できます。
  • /terminal-setup

    • Shift + Enter キーで改行を挿入できるようにします
    • ただし、Windows上のLinuxで動かす場合、この機能は選択肢になく、もしかしたらmacOS用の機能かもしれません。
  • /install-github-app

    • GitHub上のIssuesやプルリクエストで @claude をメンションできるように、GitHubアプリ`をインストールします
    • ただ、これもWindows環境だとエラーとなってしまいました。
  • /config(theme)

    • ライトモードまたはダークモードを有効にしたり、通知をオンにしたりします。
  • macOS の音声入力をオンにする

    • macOS を使っている場合、キーボードで文字を打つ代わりに、話した言葉をテキストとして入力できる「音声入力(dictation)」機能を有効にすることができます。

Code baseについて質問してみよう

アットマークを使うと、明示的にフォルダやファイルを参照することができます。このアットマークを駆使してClaude CodeにCode baseについて質問することができます。Code baseはリポジトリ内のすべてのプログラムコードのことを指します。
例えば、下記のように質問ができます。

  • @RoutingController.py はどのように使われていますか?
  • 新しい @app/services/ValidationTemplateFactory を作るにはどうすればよいですか?
  • なぜrecoverFromExceptionはそんなに多くのargumentsを取るのですか? git historyを調べて答えてください
  • なぜ私たちは @src/login.ts API にif/elseを追加することでissue #18363を修正したのですか?
  • 新しい @api/ext/PreHooks.php API はどのversionでリリースしましたか?
  • PR #9383を見て、どのアプリのversionsが影響を受けたかを慎重に確認してください
  • 先週、私は何をshipしましたか?

私が試したケースだと、「@db/init/en/init.sql @db/init/ja/init.sql これら2ファイルについてサンプルデータを増やしてほしい。中身は、 @demo_data_generator.py を参考にしてほしい。」といったこともできました。

Claude Codeに外部ツールを使わせてみよう

下記のように、例えばGitHubを操作するためのGitコマンドをClaude Codeに使わせることができます。

  • issue #8732 に対する修正案をいくつか提案し、その後、私が選んだものを実装してください。
  • @app/tests/signupTest.ts でカバーされていないエッジケースを特定し、それらをカバーするようにテストを更新してください。よく考えて。
  • commit して、push して、pr(プルリクエスト)を作成してください。
  • 3つの parallel agents(並列エージェント)を使って、@services/aggregator/feed_service.cpp をクリーンアップ(整理)するためのアイデアをブレインストーミングしてください。

また下記のようにbashツールやMCPを使わせることもできます。

  • bashツール
Use the barley CLI to check for error logs in the last training run. Use -h to check how to use it.
  • MCP
Use the barley MCP server to check for error logs in the last training run

特にbashの標準コマンドは良く使われますね。例えば下記のようにlsコマンドを実行することは簡単に試せる例の1つかと。

bashのlsコマンドを使ってルートディレクトリにREADMEとつくファイルがいくつかるのか?それぞれのファイル名のリストを教えてください。

コマンドを実行してよいか確認されて、「Yes」を選択します。

するとコマンドが実行されて結果が出力されます。

一般的なワークフロー

下記3つのワークフロー例がありますが、そのうちの一部フローでClaude Codeを活用する例を説明します。

  • 調査 > 計画 > 確認 > コードを書く > commit (変更を記録する)
    上記のうち、調査~確認までに使えるプロンプト例。
issue#983 の根本原因を突き止め、いくつかの修正案を提案してください。あなたがコードを書く前に、私にアプローチを選ばせてください。 `ultrathink` (Claudeに時間をかけて思考してほしいときに使う文言です。)
  • テストを書く > commit > コードを書く > 繰り返す > commit
    上記のうち、テストを書く~繰り返すまでに使えるプロンプト例。
リンクが正しく表示されることを確認するために、`@utils/markdown.ts` のテストを書いてください(リンクはまだ実装されていないため、テストはまだPassしないので注意してください)。その後commitしてください。次に、テストがPassするようにコードを修正してください。
  • コードを書く > 結果をスクリーンショット > 繰り返す
    上記を行うのに使えるプロンプト例。(MCPを使うので要環境構築)
モック(見本となるデザイン) の通りに実装してください。実装したら `Puppeteer` を使ってスクリーンショットを撮り、モックと同じ見た目になるまで繰り返してください。

More context = better performance

Claudeの性能を最大限に引き出すために、CRAUDE.mdに開発方針などのコンテキスト情報を入れておくことは良くあります。より多くのコンテキスト情報を提供することが重要であるし、Claude Codeがより的確で質の高い処理が行えう可能性が高まります。コンテキスト情報を入れる手段はいくつかあります。

  • CLAUDE.md
  • スラッシュコマンド (/initや/memory等を使って制御)
  • アットマークでファイルをメンション (前述でも使っているテクニックですね)
  • MCP (これは近日公開だそうです)

CLAUDE.md

Claude Codeを起動した瞬間に、関連するすべてのCLAUDE.mdファイルが自動的に読み込まれます。これはプログラミングでいう「設定ファイル」のようなものですが、自然言語が使えてより柔軟で使いやすい形になっています。

メモリの種類 ファイル名 保存場所 用途 使用例 読み込みタイミング
プロジェクトメモリ CLAUDE.md プロジェクトフォルダ内
(./CLAUDE.md)
チーム全体で共有する
プロジェクト固有の設定
・コーディング規約
・プロジェクトの構造
・共通のワークフロー
起動時に自動読み込み
ユーザーメモリ CLAUDE.md ホームディレクトリ
(~/.claude/CLAUDE.md)
すべてのプロジェクトで
使う個人設定
・好みのコードスタイル
・よく使うツール
・個人的な開発習慣
起動時に自動読み込み
サブフォルダメモリ CLAUDE.md 各サブフォルダ内
(例: ./src/CLAUDE.md)
特定のディレクトリ専用の
コンテキスト設定
・src/: 本番コード用ルール
・tests/: テスト用ルール
・docs/: ドキュメント規約
該当フォルダ内の
ファイルを扱う時のみ
ローカルメモリ
(⚠️非推奨)
CLAUDE.local.md プロジェクトフォルダ内
(./CLAUDE.local.md)
個人的なプロジェクト設定
→ 代替:@インポート機能
代替方法:
CLAUDE.mdに
@~/.claude/my-project.md
と書いて個人設定をインポート
起動時に自動読み込み

ショートカットの使い方:
メモリを素早く追加したいときは、入力の最初に「#」を付けるだけです:

# 変数名は必ずわかりやすい名前にする

このように入力すると、どのメモリファイルに保存するか選択画面が表示されて、選択したら「#」を付けた文言が追記されます。

/memoryコマンドの使い方:
より詳細な編集をしたい場合は、セッション中に/memoryと入力してください。システムのエディタが開いて、CLAUDE.mdを直接編集できます。

サブフォルダメモリの活用例:
下記のようにコンテキストをサブフォルダごとに使い分けられます。

プロジェクト/
├── CLAUDE.md              # 全体的なプロジェクトルール
├── frontend/
│   ├── CLAUDE.md          # React/TypeScript専用の設定
│   └── components/
├── backend/
│   ├── CLAUDE.md          # Python/FastAPI専用の設定
│   └── api/
└── infrastructure/
    ├── CLAUDE.md          # Terraform/インフラ設定
    └── terraform/

その他ポイント:

  • 階層的な読み込み:サブフォルダで作業していても、親フォルダのCLAUDE.mdも自動的に読み込まれます
  • インポート機能@path/to/file形式で他のファイルを取り込めます(最大5階層まで)
  • 構造化:見出しや箇条書きを使って情報整理して、CLAUDE.mdを記載することをおすすめします

便利なキー操作

  • shift + tab:
    Claude Codeのファイル編集を自動承認⇔都度承認を切り替える
  • #:
    メモリ(CLAUDE.md)に追記する
  • !:
    bashコマンドを実行。例えば!ls -laと打つとプロジェクトフォルダ内のファイルの一覧が出力される
  • @:
    ファイルやフォルダを指定する。こうすることで、Claude Codeが指定されたファイルやフォルダの内容を読みに行く
  • esc:
    現在行っている処理や操作をキャンセルする
  • escを2回打鍵:
    過去のユーザからの指示に戻る(Claude Code起動でつかうclaudeコマンドでもclaude --resumeという形で同様のことができる)
  • ctrl + r:
    たたまれた出力の詳細を表示する。これ、結構便利っすね。
  • /vibe:
    ぜひ実行してみてください

おわりに

いかがでしたか。Claude Codeを使っていきたい方が、Claude Codeへの理解が深まり、実践できるようになると幸いです。
また、公式ドキュメントは下記となります。この記事でキャッチアップできている状態で読むと理解度が違うと思いますので、ぜひ目を通してみてください!
公式Claude Codeドキュメント(英語)
公式Claude Codeドキュメント(日本語)

Accenture Japan (有志)

Discussion