Claude Code入門 - AIによるコーディング支援の新しいカタチ

## はじめに

プログラミングの世界では、効率的なコード作成・デバッグ・管理が常に課題となっています。特に複雑なプロジェクトや初めて触れるコードベースでは、全体像の把握や問題解決に多くの時間を費やすことがあります。

そんな開発者の課題を解決するべく、Anthropic社が提供する新しいツール「Claude Code」が登場しました。このツールは、ターミナル上で動作する対話型AIアシスタントで、自然言語コマンドを通じてコードベースの理解や編集、Git操作などを支援してくれます。

本記事では、Claude Codeの基本的な機能と使い方について、初心者にもわかりやすく解説します。

## Claude Codeとは

Claude Codeは、Anthropic社が開発した「エージェント型コーディングツール」です。従来のAIコーディング支援ツールとの大きな違いは、単にコードを生成するだけでなく、プロジェクト全体を理解し、実際にファイル編集やGit操作などのアクションを実行できる点にあります。

主な特徴と機能は以下の通りです：

- **ターミナル上で動作**: 別途サーバーやブラウザを立ち上げる必要がなく、開発環境に直接統合
- **コードベースの理解**: プロジェクト全体の構造とロジックを把握
- **実際のアクション実行**: ファイル編集、テスト実行、Git操作などを自然言語指示で実行
- **会話形式での支援**: 複雑な質問や指示を理解し、自然な対話で問題解決

現在はResearch Preview（ベータ版）として提供されており、開発者からのフィードバックを取り入れながら改善が進められています。

## システム要件

Claude Codeを利用するには、以下の環境が必要です：

- **対応OS**: macOS 10.15以上、Ubuntu 20.04以上/Debian 10以上、またはWSL経由のWindows
- **ハードウェア**: 最低4GB RAM
- **ソフトウェア**:
  - Node.js 18以上
  - git 2.23以上（オプション）
  - GitHub/GitLab CLI（PR操作用、オプション）
  - ripgrep（ファイル検索強化用、オプション）
- **ネットワーク**: 認証とAI処理のためのインターネット接続

## インストールと初期設定

Claude Codeのインストールは非常に簡単です。以下の手順でセットアップできます：

1. ターミナルで以下のコマンドを実行してグローバルインストール：
   ```bash
   npm install -g @anthropic-ai/claude-code
   ```

2. プロジェクトディレクトリに移動し、`claude`コマンドを実行：
   ```bash
   cd your-project
   claude
   ```

3. 初回実行時にAnthropicアカウントとの連携（OAuth認証）を完了させます

これで、あなたのプロジェクトディレクトリ内でClaude Codeを使用する準備が整いました。

## 基本的な使い方

### プロジェクトの初期化

Claude Codeを初めて使用するときは、以下の流れがおすすめです：

1. `claude`コマンドでClaude Codeを起動
2. 「summarize this project」のような簡単なコマンドで動作確認
3. `/init`コマンドでCLAUDE.mdファイル（プロジェクトガイド）を生成
4. 生成されたCLAUDE.mdファイルをリポジトリにコミットするようClaudeに依頼

### 質問と回答の基本形

Claude Codeは自然言語での指示に対応しているので、例えば：

- 「このプロジェクトの構造を説明して」
- 「src/components/Button.jsxの実装を解説して」
- 「テストの実行方法を教えて」

といった質問が可能です。Claudeはプロジェクトのファイルを自動的に読み取り、回答します。

### ファイル編集

ファイルの修正やバグ修正も自然言語で指示できます：

```
src/utils/formatDate.js のバグを修正して。日付が正しくフォーマットされていないようだ。
```

Claude Codeはファイルを分析し、問題点を見つけて修正案を提示します。修正を適用する前に確認が求められるので、安心して利用できます。

### Git操作の自動化

コミット、マージ、コンフリクト解決などのGit操作も自然言語で指示できます：

```
最近の変更をまとめてコミットして。コミットメッセージは「Add user authentication feature」にして。
```

```
develop ブランチからのマージコンフリクトを解決して
```

Claude Codeが適切なGitコマンドを実行し、必要に応じてコンフリクトの解決策を提案してくれます。

### テストと実行

テストの実行や結果の解釈も支援してくれます：

```
単体テストを実行して、失敗したテストがあれば修正して
```

Claude Codeは自動的にテストを実行し、失敗があればその原因を分析して修正案を提示します。

## コマンド一覧

### CLIコマンド

| コマンド | 説明 | 例 |
|---------|------|-----|
| `claude` | 対話型REPLを起動 | `$ claude` |
| `claude "query"` | 初期プロンプト付きでREPLを起動 | `$ claude "explain this project"` |
| `claude -p "query"` | ワンショットクエリを実行し終了 | `$ claude -p "explain this function"` |
| `cat file \| claude -p "query"` | パイプされた内容を処理 | `$ cat logs.txt \| claude -p "explain"` |
| `claude config` | 設定を構成 | `$ claude config set --global theme dark` |
| `claude update` | 最新バージョンに更新 | `$ claude update` |

### スラッシュコマンド

セッション内でのClaude Codeの動作を制御するコマンド：

| コマンド | 目的 |
|---------|------|
| `/bug` | バグを報告（会話をAnthropicに送信） |
| `/clear` | 会話履歴をクリア |
| `/compact` | コンテキスト節約のために会話を圧縮 |
| `/config` | 設定の表示/変更 |
| `/cost` | トークン使用統計を表示 |
| `/doctor` | Claude Codeのインストール状態を確認 |
| `/help` | 使用方法のヘルプを表示 |
| `/init` | CLAUDE.mdガイド付きでプロジェクトを初期化 |
| `/login` | Anthropicアカウントを切り替え |
| `/logout` | Anthropicアカウントからサインアウト |
| `/pr_comments` | プルリクエストのコメントを表示 |
| `/review` | コードレビューをリクエスト |
| `/terminal-setup` | 改行用のShift+Enterキーバインディングをインストール（iTerm2とVSCodeのみ） |

## セキュリティと権限管理

Claude Codeは、権限とセキュリティのバランスを取るために階層型の権限システムを採用しています：

| ツールタイプ | 例 | 承認が必要 | 「はい、今後確認しない」の動作 |
|------------|----|-----------|-----------------------|
| 読み取り専用 | ファイル読み取り、LS、Grep | いいえ | 該当なし |
| Bashコマンド | シェル実行 | はい | プロジェクトディレクトリとコマンドごとに永続的 |
| ファイル変更 | ファイルの編集/書き込み | はい | セッション終了まで |

これにより、危険な操作が誤って実行されることを防ぎつつ、便利に使うことができます。

## コスト管理

Claude Codeは、各インタラクションでトークンを消費します。一般的な使用コストは、開発者1人あたり1日5〜10ドル程度ですが、集中的に使用すると1時間あたり100ドルを超えることもあります。

コスト管理のためのヒント：

- `/cost`で現在のセッション使用量を確認
- 終了時に表示されるコスト概要を確認
- [Anthropic Console](https://console.anthropic.com/)で過去の使用状況を確認
- [支出制限](https://console.anthropic.com/settings/limits)を設定

トークン使用量を削減するには：

- 会話が大きくなったら`/compact`を使用
- あいまいなリクエストを避け、具体的なクエリを書く
- 複雑なタスクを集中的なインタラクションに分割
- タスク間で`/clear`を使用して履歴をリセット

## 実践例

### 例1: コードの理解

```
このプロジェクトの認証システムについて説明して。特にユーザー登録からログインまでの流れを知りたい。
```

このような質問に対して、Claude Codeはプロジェクト内の関連ファイルを自動的に探し、認証システムの全体像と具体的な実装の詳細を説明してくれます。

### 例2: バグ修正

```
src/utils/validation.js の email バリデーション関数にバグがあるようだ。特殊文字を含むメールアドレスが正しく検証されていない。修正してほしい。
```

Claude Codeは該当ファイルを開き、問題のある正規表現パターンを特定し、より堅牢なパターンに置き換える修正案を提示します。承認すれば、実際にファイルを更新します。

### 例3: 新機能の追加

```
ユーザープロフィールページに「最終ログイン日時」を表示する機能を追加したい。必要な変更点を教えて。
```

Claude Codeはデータモデル、フロントエンド、バックエンドなど、変更が必要な複数の箇所を特定し、各ファイルの具体的な修正方法を提案します。

## まとめ

Claude Codeは、AIによるコーディング支援の新たな形を提示しています。単なるコード生成だけでなく、プロジェクト全体の理解、実際のファイル編集、Git操作の自動化など、開発ワークフローの多くの側面をサポートしてくれるツールです。

現在はResearch Previewとして提供されているため、今後さらに機能が追加・改善される可能性があります。特に、複雑なコードベースの理解や、反復的なタスクの自動化が必要な開発者にとって、大きな時間節約につながるでしょう。

ぜひ一度試してみて、あなたの開発ワークフローがどのように変わるか体験してみてください。

## 参考リンク

- [Claude Code GitHub リポジトリ](https://github.com/anthropics/claude-code)
- [Claude Code 公式ドキュメント](https://docs.anthropic.com/en/docs/agents/claude-code/introduction)
- [Anthropic 公式サイト](https://www.anthropic.com/)