この記事について
Claude Codeを初めて触る人から本番運用したい人まで、レベル別にまとめました。
| レベル | 内容 |
|---|---|
| 🔰 初級 | Claude Codeとは・インストール・基本操作 |
| 🔷 中級 | CLAUDE.md・カスタムコマンド・Git連携 |
| 🔶 上級 | MCP連携・Hooks・Permission・CI/CD統合 |
自分のレベルに合わせて読み進めてください。
🔰 初級編:まずは動かしてみる
Claude Codeとは
Claude Codeは、Anthropic社が提供するターミナルベースのAIコーディングアシスタントです。
あなた:「この関数にエラーハンドリング追加して」
Claude Code:(コードを読んで、修正して、ファイルに書き込む)
こんな感じで、自然言語で指示を出すとコードを読み書きしてくれます。
何ができる?
- コードの読解・説明
- バグ修正・リファクタリング
- テストコード生成
- Git操作(コミット、PR作成、コンフリクト解消)
- ドキュメント生成
デフォルトモデル
Claude Sonnet 4.5がClaude Codeのデフォルトモデルです。/model コマンドで他のモデルに切り替えることも可能です。
インストール
方法1:ネイティブインストール(推奨)
Node.js不要で最も簡単な方法です。
curl -fsSL https://claude.ai/install.sh | bash
方法2:npmインストール
npmを使う場合は、Node.js 18以上が必要です。
npm install -g @anthropic-ai/claude-code
⚠️
sudo npm install -gは使わないでください。権限問題やセキュリティリスクにつながります。
初回起動と認証
claude
初回起動時にAnthropicアカウントでの認証が求められます。ブラウザが開くので、ログインして許可すればOK。
基本操作
起動
# プロジェクトディレクトリで起動
cd your-project
claude
基本的な使い方
起動するとREPLモードになります。自然言語で指示を出すだけです。
> このプロジェクトの構成を説明して
> src/utils/format.ts のバグを直して
> UserServiceクラスのテストを書いて
よく使うスラッシュコマンド
| コマンド | 説明 |
|---|---|
/help |
ヘルプ表示 |
/clear |
会話をリセット |
/cost |
現在のコスト表示 |
/status |
状態確認(バージョン、モデル、アカウント等) |
/doctor |
インストール環境の診断 |
/exit |
終了 |
ワンショット実行(ヘッドレスモード)
REPLを起動せず、1回だけ実行して終了するモード。
claude -p "src/index.tsの型エラーを修正して"
スクリプトや自動化に便利です。
VS Code拡張機能(ベータ版)
Claude CodeにはネイティブのVS Code拡張機能があります。
特徴
- IDE内で直接Claude Codeを利用可能
- 専用サイドバーパネル
- Claudeの変更をリアルタイムでインラインdiff表示
- ターミナルとGUIの両方の利点を活用
インストール
VS Code拡張機能マーケットプレイスで「Claude Code」を検索してインストール。
初級編まとめ
✅ ネイティブインストール:curl -fsSL https://claude.ai/install.sh | bash
✅ npmインストール:npm install -g @anthropic-ai/claude-code(Node.js 18以上)
✅ プロジェクトディレクトリで claude を実行
✅ 自然言語で指示を出す
✅ /help でコマンド一覧確認
🔷 中級編:効率的に使いこなす
CLAUDE.mdでプロジェクト情報を共有
プロジェクトルートに CLAUDE.md を置くと、Claude Codeが会話開始時に自動で読み込みます。
毎回「このプロジェクトはNext.jsで...」と説明しなくて済みます。
# CLAUDE.md
## プロジェクト概要
- Next.js 14 (App Router) + TypeScript
- 状態管理:Zustand
- スタイリング:Tailwind CSS
- テスト:Vitest + Testing Library
## ディレクトリ構成
- `src/app/` - ページ・ルーティング
- `src/components/` - UIコンポーネント
- `src/lib/` - ユーティリティ
- `src/types/` - 型定義
## コーディング規約
- `any` 禁止
- コンポーネントはnamed export
- 関数コンポーネントのみ使用
## コマンド
- `npm run dev` - 開発サーバー
- `npm test` - テスト実行
- `npm run lint` - Lint実行
CLAUDE.mdの配置場所
| 場所 | 用途 |
|---|---|
~/.claude/CLAUDE.md |
ユーザー設定(全プロジェクト共通) |
./CLAUDE.md または ./.claude/CLAUDE.md
|
プロジェクト設定(チーム共有) |
./CLAUDE.local.md |
ローカル設定(個人用、git無視) |
⚠️ CLAUDE.mdのコツ
短く保つこと。長すぎるとコンテキストを消費します。
❌ 全APIエンドポイントの仕様を書く
❌ 全コンポーネントの説明を書く
✅ 重要な規約・構成だけ簡潔に
✅ 詳細はカスタムコマンドに分離
メモリの追加方法
セッション中に # で始まるメッセージを送ると、CLAUDE.mdに追記できます。
# このプロジェクトではPostgreSQLをDockerで使用
# APIはREST規約に従う
または /memory コマンドでエディタを開いて直接編集できます。
スラッシュコマンドを使いこなす
| コマンド | 用途 | 使いどころ |
|---|---|---|
/compact |
会話を要約してトークン節約 | セッションが長くなったら |
/clear |
会話リセット | 話題を変えるとき |
/cost |
コスト確認 | 定期的にチェック |
/model |
モデル切替 | 軽いタスクは軽いモデルで |
/memory |
CLAUDE.mdを編集 | 規約追加時 |
/doctor |
環境診断 | 動作がおかしいとき |
/context |
コンテキスト状況を可視化 | トークン使用量確認 |
/rewind |
過去のメッセージ時点に戻る | やり直したいとき |
💡 /compact は必須テクニック
Claude Codeの標準コンテキストウィンドウは200Kトークンです。
注意: 1Mトークンのコンテキストウィンドウはベータ機能であり、Claude Sonnet 4 / Sonnet 4.5でのみ利用可能です。APIリクエストに
context-1m-2025-08-07ベータヘッダーを含める必要があります。
「なんか応答が遅くなってきた」「的外れな回答が増えた」と思ったら /compact を実行。
カスタムスラッシュコマンド
.claude/commands/ にMarkdownファイルを置くと、オリジナルコマンドが作れます。繰り返しのワークフロー(デバッグループ、ログ分析など)に最適です。
例:コードレビューコマンド
<!-- .claude/commands/review.md -->
以下の観点でコードレビューしてください:
1. 型安全性(any使用、型の不整合)
2. エラーハンドリング(try-catch、エラー境界)
3. パフォーマンス(不要な再レンダリング、メモ化)
4. セキュリティ(XSS、インジェクション)
5. テスタビリティ
対象:$ARGUMENTS
使い方:
/project:review src/components/UserForm.tsx
例:コミットメッセージ生成(frontmatter付き)
<!-- .claude/commands/commit.md -->
---
description: Create a git commit with a conventional message
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [message]
model: claude-3-5-haiku-20241022
---
現在のgit diffを確認し、Conventional Commits形式でコミットメッセージを生成してください。
フォーマット:
<type>(<scope>): <subject>
<body>
typeは feat/fix/docs/style/refactor/test/chore から選択。
日本語で記述。
$ARGUMENTSが指定されている場合はそれをコミットメッセージとして使用。
カスタムコマンドの配置場所
| 場所 | スコープ | コマンド名 |
|---|---|---|
.claude/commands/ |
プロジェクト | /project:コマンド名 |
~/.claude/commands/ |
ユーザー | /user:コマンド名 |
プラグインシステム
プラグインは、スラッシュコマンド・サブエージェント・MCPサーバー・Hooksの組み合わせをパッケージ化して共有する軽量な方法です。
インストール方法
/plugin install <plugin-name-or-url>
プラグインの特徴
- 複数の機能を1つのパッケージとして配布
- チーム間での設定共有が容易
- コミュニティ製プラグインの利用が可能
Git操作を任せる
Claude CodeはGit操作が得意です。
> 変更内容をもとにコミットメッセージを作成してコミットして
> mainブランチとの差分からPRの説明文を作成して
> このマージコンフリクトを解決して
特にコンフリクト解消は、両方の変更意図を理解して適切にマージしてくれるので便利。
.claudeignore で無駄を省く
読ませたくないファイルを指定します。トークン節約&精度向上に効果的。
# .claudeignore
# 依存関係
node_modules/
vendor/
# ビルド成果物
dist/
build/
.next/
# ログ・キャッシュ
*.log
.cache/
# 自動生成ファイル
generated/
*.min.js
*.map
# 機密情報
.env*
**/secrets/
中級編まとめ
✅ CLAUDE.md でプロジェクト情報を共有(ただし簡潔に)
✅ # でメモリ追加、/memory で編集
✅ /compact でトークン節約(標準200Kトークン、1Mはベータ機能)
✅ カスタムコマンドで繰り返し作業を効率化
✅ プラグインで機能をパッケージ化・共有
✅ Git操作は積極的に任せる
✅ .claudeignore で不要ファイルを除外
🔶 上級編:本格運用・自動化
MCP(Model Context Protocol)連携
MCPを使うと、外部ツールやAPIとClaude Codeを連携できます。
MCPとは
Claude Codeの機能を拡張するためのプロトコル。データベース、外部API、社内ツールなどと接続できます。Claude CodeはMCPサーバーとクライアントの両方として機能し、任意の数のMCPサーバーに接続してツールにアクセスできます。
設定例:GitHub連携
// ~/.claude/settings.json
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_xxxxxxxxxxxx"
}
}
}
}
これでClaude CodeからGitHub APIを直接操作できます。
> GitHubのissue #123の内容を確認して
> このブランチでPRを作成して、レビュアーに@teammateを指定
MCPサーバーの追加方法
# HTTP transport
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
# stdio transport
claude mcp add github -- npx -y @modelcontextprotocol/server-github
# MCPサーバー一覧確認
claude mcp list
主要なMCPサーバー
| サーバー | 用途 |
|---|---|
server-github |
GitHub操作 |
server-postgres |
PostgreSQL直接クエリ |
server-filesystem |
ファイルシステム拡張 |
server-slack |
Slack連携 |
Hooksで自動化
特定のイベントで任意のコマンドを自動実行できます。
利用可能なHook
| Hook | タイミング |
|---|---|
PreToolUse |
ツールパラメータ作成後、ツールコール処理前(ブロック可能) |
PostToolUse |
ツールが正常完了した直後 |
UserPromptSubmit |
ユーザープロンプト送信時 |
PermissionRequest |
権限ダイアログ表示時 |
Stop / SessionEnd
|
セッション終了時 |
Hooks設定の構造
// ~/.claude/settings.json または .claude/settings.json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write $FILE_PATH"
}
]
}
]
}
}
例:ファイル変更時に自動フォーマット
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write \"$CLAUDE_FILE_PATHS\""
}
]
}
]
}
}
例:危険なコマンドをブロック
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "node .claude/hooks/security-check.js"
}
]
}
]
}
}
Exit code 2 で処理をブロックできます。
例:セッション終了時にログ保存
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "echo \"$(date): Session ended\" >> ~/.claude/activity.log"
}
]
}
]
}
}
Hooksの設定方法
-
/hooksコマンドでインタラクティブに設定(推奨) - 設定ファイルを直接編集(反映には
/hooksメニューでの確認が必要)
⚠️ 設定ファイルのhooksを直接編集しても即座には反映されません。
/hooksメニューでの確認が必要です。
Permission制御
本番運用ではセキュリティが重要です。
Permissionモード
# 標準(読み取りは自動許可、書き込み・実行は確認)
claude
# ファイル編集を自動許可
claude --permission-mode acceptEdits
# 分析のみ(ファイル変更・コマンド実行不可)
claude --permission-mode plan
# 全権限スキップ(危険、安全な環境でのみ使用)
claude --dangerously-skip-permissions
Permissionモード一覧
| モード | 説明 |
|---|---|
default |
標準。読み取りOK、書き込み・実行は初回確認 |
acceptEdits |
ファイル編集は自動許可、コマンドは確認 |
plan |
分析のみ。ファイル変更・コマンド実行不可 |
bypassPermissions |
全権限スキップ(--dangerously-skip-permissions) |
⚠️ 警告:
bypassPermissionsモードは本番環境や機密性の高いコードベースでは絶対に使用しないでください。サンドボックス化された安全な環境でのみ使用してください。
許可/拒否ルールのカスタマイズ
// .claude/settings.json
{
"permissions": {
"allow": [
"Read(src/**)",
"Read(tests/**)",
"Write(src/**)",
"Bash(npm test)",
"Bash(npm run lint)",
"Bash(npm run build)"
],
"deny": [
"Read(.env*)",
"Read(**/secrets/**)",
"Write(package.json)",
"Bash(rm -rf:*)",
"Bash(*sudo*)",
"Bash(*curl*|*wget*)"
]
}
}
⚠️ deny ルールは必ず設定しましょう。特にCI環境では必須。
設定ファイルの優先順位(高い順)
- Enterprise設定:
/Library/Application Support/ClaudeCode/managed-settings.json(macOS) //etc/claude-code/managed-settings.json(Linux) - ローカルプロジェクト設定:
.claude/settings.local.json - プロジェクト設定:
.claude/settings.json - ユーザー設定:
~/.claude/settings.json
サンドボックス機能
Claude Codeにはサンドボックス機能があり、安全な実行環境を提供します。
/sandbox
サンドボックスを有効にすると:
- ファイルシステムの分離(作業ディレクトリのみアクセス可能)
- ネットワークの分離(許可されたドメインのみ接続可能)
- 権限プロンプトを84%削減
CI/CD統合
GitHub Actions例:自動コードレビュー
name: AI Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Claude Code
run: curl -fsSL https://claude.ai/install.sh | bash
- name: Run Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude -p "git diffの内容をレビューして問題点を指摘" \
--dangerously-skip-permissions \
--output-format json > review.json
- name: Post Comment
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const review = JSON.parse(fs.readFileSync('review.json', 'utf8'));
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: review.result
});
ヘッドレスモードのオプション
# JSON出力
claude -p "エラーを分析" --output-format json
# ストリーミングJSON出力
claude -p "クエリ" --output-format stream-json
# セッション継続
claude --resume <session-id> -p "続きを実行"
大規模コードベース対応
スコープを絞る
monorepoなど巨大なプロジェクトでは、作業対象を限定。
# 特定パッケージだけを対象に
cd packages/core && claude
# または明示的に指定
claude --context-file packages/core/src/index.ts
セッション分割
1セッションで複数タスクをやらせない。
❌ 「全体をリファクタして、テスト書いて、ドキュメントも更新」
✅ セッション1: 対象モジュールのリファクタ
✅ セッション2: リファクタ後のテスト作成
✅ セッション3: ドキュメント更新
トークン監視
# セッション中
/cost
# コンテキスト状況確認
/context
# 要約してトークン節約
/compact
トラブルシューティング
| 症状 | 原因・対策 |
|---|---|
| 応答が遅い | コンテキスト過大 → /compact or セッション分割 |
| 的外れな回答 | コンテキスト汚染 → /clear してやり直し |
| ファイルが読めない |
.claudeignore 確認、パス指定確認 |
| MCP接続失敗 |
claude mcp list で状態確認、トークン・パス確認 |
| コスト高騰 |
.claudeignore 見直し、質問を具体化 |
| インストール問題 |
/doctor で環境診断 |
デバッグモード
claude --debug
claude --verbose
環境診断
/doctor
上級編まとめ
✅ MCP連携で外部ツール・API統合
✅ Hooksで自動フォーマット・セキュリティチェック
✅ Permission設定でセキュリティ担保
✅ サンドボックスで安全な実行環境
✅ CI/CDでコードレビュー・品質チェック自動化
✅ 大規模プロジェクトはスコープ絞り込み&セッション分割
他ツールとの比較・使い分け
| ツール | 特徴 | 向いている場面 |
|---|---|---|
| Claude Code | ターミナルベース、高いカスタマイズ性、VS Code拡張あり | CLI派、大きめのタスク、自動化 |
| Cursor | GUI、リアルタイム補完 | GUI派、インタラクティブな編集 |
| GitHub Copilot | エディタ統合、軽量 | 既存環境を変えたくない、補完メイン |
| Cline/Roo Code | VS Code拡張、エージェント型 | VS Codeユーザー、マルチモデル |
併用がおすすめ。補完はCopilot、大きなタスクはClaude Codeなど使い分け。
まとめ
| レベル | 押さえるポイント |
|---|---|
| 🔰 初級 | インストール(ネイティブ or npm)、基本コマンド、自然言語で指示 |
| 🔷 中級 | CLAUDE.md、カスタムコマンド、プラグイン、Git連携、.claudeignore |
| 🔶 上級 | MCP連携、Hooks、Permission、サンドボックス、CI/CD統合 |
Claude Codeは活発に開発が進んでいるので、公式ドキュメントやChangelogも定期的にチェック!