はじめに
Claude Codeで始めるエージェンティックコーディング:ベストプラクティスと具体例
2025年4月、Anthropic社はエージェンティックコーディングのためのCLIツール「Claude Code」をリリースしました。このツールは、開発者が自然言語でコードベースと対話し、効率的に開発作業を進めることを可能にします。本記事では、Claude Codeを効果的に活用するためのベストプラクティスと具体的な使用例を紹介します。
1. 環境をカスタマイズする
CLAUDE.mdファイルの作成
CLAUDE.mdは、Claudeがセッション開始時に自動的に読み込む特別なファイルです。以下のような情報を記載することで、Claudeの理解を助けます:
# Bashコマンド
- npm run build: プロジェクトのビルド
- npm run typecheck: 型チェックの実行
# コードスタイル
- ESモジュール(import/export)構文を使用
- 可能な限りimportを分割して使用(例:import { foo } from 'bar')
# ワークフロー
- 一連のコード変更後は型チェックを実行
- パフォーマンスのため、単一のテストを実行し、全体のテストスイートは避ける
このファイルは、リポジトリのルートや任意のディレクトリに配置できます。また、~/.claude/CLAUDE.mdに置くことで、すべてのセッションに適用されます。
CLAUDE.mdのチューニング
CLAUDE.mdの内容は、Claudeのプロンプトの一部として使用されます。そのため、内容を定期的に見直し、効果的な指示が含まれているかを確認しましょう。例えば、「IMPORTANT」や「YOU MUST」といった強調表現を追加することで、Claudeの指示遵守率を向上させることができます。
許可されたツールの管理
Claude Codeは、安全性を重視し、システムを変更する可能性のある操作(ファイルの書き込み、Bashコマンドの実行など)には明示的な許可を求めます。/permissionsコマンドや設定ファイル(.claude/settings.json)を使用して、信頼できるツールを許可リストに追加できます。
GitHub CLIのインストール
Claudeは、gh CLIを使用してGitHubと連携し、Issueの作成、Pull Requestのオープン、コメントの読み取りなどを行います。ghをインストールすることで、これらの操作がスムーズに行えます。
2. Claudeにツールを提供する
Bashツールとの連携
Claude Codeは、ユーザーのBash環境を継承します。カスタムツールを使用する場合は、使用方法やヘルプ情報をClaudeに提供し、CLAUDE.mdに記載することで、Claudeがそれらを認識できるようになります。
MCP(Model Context Protocol)の利用
Claude Codeは、MCPサーバーと連携して外部ツールを使用できます。プロジェクトの設定ファイル(.mcp.json)にサーバー情報を記載することで、チーム全体で共有できます。
カスタムスラッシュコマンドの作成
繰り返し行う作業(デバッグ、ログ解析など)に対しては、.claude/commandsフォルダにMarkdown形式でスラッシュコマンドを作成することで、効率的に実行できます。
# .claude/commands/fix-github-issue.md
Please analyze and fix the GitHub issue: $ARGUMENTS.
Follow these steps:
1. Use `gh issue view` to get the issue details
2. Understand the problem described in the issue
3. Search the codebase for relevant files
4. Implement the necessary changes to fix the issue
5. Write and run tests to verify the fix
6. Ensure code passes linting and type checking
7. Create a descriptive commit message
8. Push and create a PR
Remember to use the GitHub CLI (`gh`) for all GitHub-related tasks.
このコマンドは、/project:fix-github-issue 1234のように使用できます。
3. 一般的なワークフローを試す
調査、計画、コーディング、コミット
Claudeに関連ファイルを読み込ませ、コードを書かないよう指示します。
問題解決のための計画を立てるよう依頼します。
計画が妥当であれば、実装を依頼します。
結果をコミットし、Pull Requestを作成します。
claude
> Read logging.py, but do not write any code yet.
> Think hard about how to refactor the logging mechanism.
> Implement the refactoring plan.
> Commit the changes with a descriptive message.
テスト駆動開発(TDD)
-
期待される入力と出力に基づいてテストを作成します
-
テストを実行し、失敗を確認します
-
テストをコミットします
-
テストが通過するようにコードを実装し、必要に応じて繰り返します
-
最終的なコードをコミットします
claude
> Write tests for the new authentication module, ensuring they fail initially.
> Implement the authentication logic to pass the tests.
> Iterate until all tests pass.
> Commit the implementation with a descriptive message.
コード、スクリーンショット、反復
Claudeにブラウザのスクリーンショットを提供し、デザインに沿った実装を依頼します。結果を確認し、必要に応じて反復します。
claude
> Implement the UI as per the provided mockup.png.
> Take a screenshot of the result.
> Iterate until the UI matches the mockup.
> Commit the final version.
セーフYOLOモード
--dangerously-skip-permissionsフラグを使用することで、Claudeにすべての操作を自動的に許可できます。ただし、リスクが伴うため、インターネットアクセスのないコンテナ内での使用が推奨されます。
claude --dangerously-skip-permissions
> Fix all lint errors in the project.
コードベースのQ&A
新しいコードベースにオンボーディングする際、Claudeに質問することで、コードの構造やロジックを迅速に理解できます。
claude
> How does the logging mechanism work in this project?
> What is the purpose of the `UserAuthenticator` class?
Gitとの連携
Claudeは、Gitの操作(履歴の検索、コミットメッセージの作成、マージコンフリクトの解決など)を効果的にサポートします。
claude
> Generate a commit message for the recent changes.
> Resolve the merge conflict in `main.py`.
GitHubとの連携
Claude Codeは、GitHubとの連携により、Pull Requestの作成、コードレビューコメントの修正、ビルドエラーの修正などを自動化できます。
claude
> Create a pull request for the `feature/login` branch.
> Address all review comments in the PR.
Jupyterノートブックとの連携
Claude Codeは、Jupyterノートブックの読み書きや出力の解釈をサポートし、データの探索や可視化を迅速に行えます。
claude
> Analyze `data_analysis.ipynb` and suggest improvements.
> Make the visualizations more aesthetically pleasing.
4. ワークフローの最適化
指示を具体的にする
Claude Codeの成功率は、具体的な指示を与えることで大幅に向上します。明確
おわりに:Claude Codeで開発を次のステージへ
Claude Codeは、従来のコーディングにおける「検索・試行錯誤・記述・修正」の流れを、対話と自動化によって劇的に効率化するツールです。
本記事で紹介したベストプラクティスと使用例を活用すれば、単なる補助ツールとしてではなく、信頼できる“ペアプログラマー”としてClaudeを活用する方法が見えてくるはずです。
特に以下のような場面で効果を発揮します:
- 新しいコードベースへのオンボーディング
- 大規模リファクタリングやマイグレーション
- テスト駆動開発や仕様に沿った設計の自動化
- UI/UXの改善やドキュメント生成
- CI/CDパイプラインへの組み込み
自分だけの CLAUDE.md
やスラッシュコマンドを整備していくことで、Claudeの精度や生産性はさらに向上します。
ぜひあなたも、Claude Codeとの“ペアプロ”を体験してみてください。