4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code 簡単まとめ:入門から実践運用まで

4
Posted at

この記事について

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の設定方法

  1. /hooks コマンドでインタラクティブに設定(推奨)
  2. 設定ファイルを直接編集(反映には /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環境では必須。

設定ファイルの優先順位(高い順)

  1. Enterprise設定: /Library/Application Support/ClaudeCode/managed-settings.json (macOS) / /etc/claude-code/managed-settings.json (Linux)
  2. ローカルプロジェクト設定: .claude/settings.local.json
  3. プロジェクト設定: .claude/settings.json
  4. ユーザー設定: ~/.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も定期的にチェック!

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?