はじめに

本記事では、Claude Codeについてご紹介いたします。
近年、AIによるコーディング支援は急速に発展しており、Anthropic社が提供するClaude Codeはその最前線に位置しています。
従来の「エディタ連携型(VS Code拡張など)」とは異なり、CLI(Command Line Interface)ベースで動作する点が大きな特徴です。


Claude Codeとは

Claude Codeは、2025年5月22日にAnthropic社から提供されたCLI型のAIコーディングツールです。
ターミナル上で自然言語を入力すると、AIがコードベースを解析し、以下のような操作をサポートします。

  • 新機能の実装
  • バグ修正
  • リファクタリング
  • マルチファイル編集

👉 公式ドキュメント: https://docs.anthropic.com/en/docs/claude-code/overview


Claude CodeがCLIで提供されている理由

  1. IDE依存の回避

    • 開発者によって使用するIDE(VS Code、Xcode、Vimなど)は異なります。
    • すべてのIDEにAI機能を実装することは現実的ではないため、CLI形式にすることで全ての環境で共通利用を可能にしています。
  2. 進化スピードへの柔軟な対応

    • GUIベースの開発支援ツールはアップデートに時間がかかる傾向があります。
    • モデルの進化に追随しやすいCLI形式を採用することで、俊敏な更新や適応が可能となっています。
    • 将来的にはIDE自体が不要となる可能性も見据えています。

Claude Codeが注目される背景

CLIのメリット

  • 環境依存がないため、OSやエディタを問わず使用可能
  • コマンドラインベースのため、GUIよりも軽量で動作が高速

Claude Codeをインストール

以下のサイトをもとに各OSに応じてインストールします。

https://docs.claude.com/ja/docs/claude-code/setup

自身のプロジェクトのルートに移動します。

cd your-project-directory

.claude/settings.json を作成します。
Google CloudeのVertex AIを使用する場合は以下を設定。
hooksの設定はClaude Codeがタスクを完了したときに通知を送信する設定です。

{
  "env": {
    "CLAUDE_CODE_USE_VERTEX": 1,
    "CLOUD_ML_REGION": "使用するリージョン",
    "ANTHROPIC_VERTEX_PROJECT_ID": "<GCPのプロジェクト名>",
    "ANTHROPIC_MODEL": "使用するモデル名",
    "ANTHROPIC_SMALL_FAST_MODEL": "使用するモデル名"
  },
  "hooks": {
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -Command \"Add-Type -AssemblyName System.Windows.Forms; $notify = New-Object System.Windows.Forms.NotifyIcon; $notify.Icon = [System.Drawing.SystemIcons]::Information; $notify.Visible = $true; $time = Get-Date -Format 'HH:mm:ss'; $notify.ShowBalloonTip(3000,'Claude Code has completed the task.','Time: ' + $time,'Info'); Start-Sleep -Seconds 3; $notify.Dispose()\""
          }
        ]
      }
    ]
  }  
}

Anthropic公式ドキュメント: settings.json

Google Cloudでの認証設定。

gcloud auth application-default login

Claude Codeを起動して以下のプロジェクトを初期化します。

npx claude
summarize this project
/init

Claude Codeをカスタマイズする方法

Claude Codeでは、AIにプロジェクトの背景やルールを理解させるために「CLAUDE.md」という特別な設定ファイルを使用します。


CLAUDE.mdとは

CLAUDE.mdは、プロジェクトの背景・規約・技術情報などをまとめたMarkdown形式のファイルです。
Claude Codeはこのファイルを自動的に読み込み、プロジェクトの「メモリ」として活用します。

これにより、AIが次のような誤動作を防止できます。

  • 非推奨ライブラリの使用
  • 不要なファイルの上書き
  • チームのコード規約に反する生成

👉 詳細: https://www.anthropic.com/claude-code 👉 参考: Zenn: Claude Code ベストプラクティス


CLAUDE.mdの記載例

- 技術スタック:
  - 言語: TypeScript 5.3
  - フレームワーク: Astro 4.5 / Tailwind CSS 3.4

- プロジェクト構造:
  - src/components: 再利用可能なUIコンポーネント
  - src/lib: コアロジックやユーティリティ関数

- コマンド:
  - npm run build / npm run test / npm run deploy

- コードスタイル:
  - インデントはスペース2つ
  - 命名規則はキャメルケース
  - import文は分割して明示的に記述

- 禁止事項:
  - `.env`や`config.yml`の直接編集禁止
  - アクセシビリティチェックの削除禁止

ベストプラクティス(Anthropic公式)

  • 具体的に記述すること 「可読性を保つ」ではなく、「1行あたりの文字数は100文字以内」といった明確なルールにします。

  • 構造化して整理すること 見出しや箇条書きを活用し、関連情報をグループ化します。

  • 定期的に更新すること プロジェクトの進行や仕様変更に応じてCLAUDE.mdを更新し、常に最新状態を維持します。

👉 参考: https://docs.claude.com/en/docs/claude-code/memory#memory-best-practices


配置場所と優先順位

Claude Codeは現在のディレクトリから上位ディレクトリへ再帰的にCLAUDE.mdを探索し、 見つかったものを「広域 → 狭域」の順で統合的に読み込みます。

メモリタイプ 配置場所 用途 共有範囲
エンタープライズポリシー /etc/claude-code/CLAUDE.md 組織全体の標準やセキュリティ方針 全社員
プロジェクトメモリ ./CLAUDE.md または ./.claude/CLAUDE.md チーム単位の開発ルール チームメンバー
ユーザーメモリ ~/.claude/CLAUDE.md 個人設定 個人のみ
ローカルメモリ(非推奨) ./CLAUDE.local.md 個人用の一時設定 非推奨

CLAUDE.local.mdについて

従来は、プロジェクト固有の個人設定を記述するために CLAUDE.local.md を使用していましたが、 現在は非推奨となっています。
代替として、個人設定は ~/.claude/CLAUDE.md に記載し、Gitの追跡対象外にする方法が推奨されています。

👉 参考: メモリタイプの決定方法


OpenAIとの比較:AGENTS.md

OpenAIでは、Claude Codeと同様の目的でAGENTS.mdというファイル形式を採用しています。
2025年8月、OpenAI・Google・Cursorなど複数社の共同仕様として発表され、今後の標準化が期待されています。

👉 https://agents.md

AGENTS.mdの記載例

# AGENTS.md

## 目的
AIコーディングアシスタントに、プロジェクトの開発ルールを伝えるためのファイルです。  

## 開発環境
- pnpm + Turbo を使用
- 新規Reactプロジェクト作成方法を明記

## テスト
- CI実行コマンド
- テストの修正手順

## PRルール
- タイトルフォーマット
- コミット前チェック項目

Claude Codeは現時点でAGENTS.mdに正式対応していません。
AGENTS.mdは複数団体が共同で作成しているものなので、今後はAGENTS.mdが業界標準の仕様になる可能性があります。

Claude CodeとGitHub CopilotなどのAGENTS.mdに対応した別のツールを併用して使いたい場合は、 以下のようにCLAUDE.mdをAGENTS.mdのシンボリックとして作成することで、AGENTS.mdとCLAUDE.mdを実質同一ファイルとして使用することができます。

New-Item -ItemType SymbolicLink -Path "CLAUDE.md" -Target "AGENTS.md"

おわりに

この記事ではClaude CodeとCLAUDE.mdによるClaude Codeのカスタマイズについて紹介しました。