💻 Claude Code入門
📖 約25分で読めます
プロジェクト別CLAUDE.mdテンプレート集 ― コピペで使える10パターン
React・Next.js・Python・PHP・WordPress等、主要技術スタック別テンプレート
はじめに ― なぜテンプレートが必要か
CLAUDE.mdをゼロから書くのは意外と手間がかかります。「何を書けばいいのか」「どこまで詳しく書くべきか」で悩む方も多いでしょう。そこで、主要な技術スタック別に、すぐにコピペして使えるテンプレートを10パターン用意しました。
各テンプレートには、プロジェクト概要・技術スタック・ファイル構成・コーディング規約・ビルドコマンドの5つの必須セクションが含まれています。自分のプロジェクトに合わせて内容を差し替えてお使いください。
テンプレート1: Reactアプリ(Vite + TypeScript)
# CLAUDE.md
## プロジェクト概要
**[アプリ名]** - [一言説明]
- [主要機能1]
- [主要機能2]
- [主要機能3]
## 技術スタック
- **言語**: TypeScript 5.x
- **フレームワーク**: React 18
- **ビルドツール**: Vite 5
- **状態管理**: Zustand / Redux Toolkit
- **スタイリング**: CSS Modules / Tailwind CSS
- **テスト**: Vitest + React Testing Library
- **リンター**: ESLint + Prettier
## プロジェクト構成
```
src/
├── components/ # 共通コンポーネント
│ ├── ui/ # ボタン、入力等の基礎UI
│ └── layout/ # Header, Footer等
├── features/ # 機能単位のモジュール
│ └── [feature]/
│ ├── components/
│ ├── hooks/
│ ├── api/
│ └── types.ts
├── hooks/ # 共通カスタムフック
├── lib/ # ユーティリティ
├── types/ # 共通型定義
└── App.tsx # ルートコンポーネント
```
## コーディング規約
- 関数コンポーネント + hooks のみ使用
- コンポーネントファイルは PascalCase (例: UserCard.tsx)
- hooks は use プレフィックス (例: useAuth.ts)
- 型定義は interface 優先(type は union 等に限定)
- CSS Modules のクラス名は camelCase
## 開発コマンド
- `npm run dev` — 開発サーバー起動
- `npm run build` — プロダクションビルド
- `npm run test` — テスト実行
- `npm run lint` — ESLint実行
- `npm run preview` — ビルド結果プレビュー
テンプレート2: Next.js(App Router)
# CLAUDE.md
## プロジェクト概要
**[アプリ名]** - [一言説明]
## 技術スタック
- **フレームワーク**: Next.js 14 (App Router)
- **言語**: TypeScript 5.x
- **DB**: PostgreSQL + Prisma ORM
- **認証**: NextAuth.js v5
- **スタイリング**: Tailwind CSS
- **デプロイ**: Vercel
## プロジェクト構成
```
src/
├── app/
│ ├── (auth)/ # 認証グループ
│ ├── (dashboard)/ # ダッシュボード
│ ├── api/ # Route Handlers
│ ├── layout.tsx # Root Layout
│ └── page.tsx # トップページ
├── components/
│ ├── ui/ # shadcn/ui コンポーネント
│ └── features/ # 機能別コンポーネント
├── lib/
│ ├── db.ts # Prisma client
│ ├── auth.ts # 認証設定
│ └── utils.ts # ユーティリティ
├── prisma/
│ ├── schema.prisma # スキーマ定義
│ └── migrations/ # マイグレーション
└── types/ # 型定義
```
## 重要な注意点
- App RouterのServer Components優先(use clientは最小限に)
- データ取得はServer Componentsでfetchまたはprisma直接
- 環境変数は .env.local に配置(コミット禁止)
## 開発コマンド
- `npm run dev` — 開発サーバー
- `npx prisma migrate dev` — マイグレーション
- `npx prisma studio` — DB GUI
- `npm run build` — ビルド
テンプレート3: Python / FastAPI
# CLAUDE.md
## プロジェクト概要
**[API名]** - [一言説明]
## 技術スタック
- **言語**: Python 3.12
- **フレームワーク**: FastAPI 0.110+
- **ORM**: SQLAlchemy 2.0
- **DB**: PostgreSQL 16
- **マイグレーション**: Alembic
- **テスト**: pytest + httpx
- **パッケージ管理**: Poetry / uv
## プロジェクト構成
```
app/
├── api/
│ ├── routes/ # エンドポイント定義
│ ├── deps.py # 依存性注入
│ └── middleware.py # ミドルウェア
├── models/ # SQLAlchemyモデル
├── schemas/ # Pydanticスキーマ
├── services/ # ビジネスロジック
├── core/
│ ├── config.py # 設定管理
│ ├── security.py # 認証・認可
│ └── database.py # DB接続
├── tests/ # テスト
├── alembic/ # マイグレーション
└── main.py # エントリポイント
```
## コーディング規約
- 型ヒントを必ず付ける
- docstringはGoogle Style
- 非同期処理はasync/awaitを使用
- 環境変数はpydantic-settingsで管理
## 開発コマンド
- `uvicorn app.main:app --reload` — 開発サーバー
- `pytest` — テスト
- `alembic upgrade head` — マイグレーション適用
- `ruff check .` — リンター
テンプレート4: PHP / Laravel
# CLAUDE.md
## プロジェクト概要
**[アプリ名]** - [一言説明]
## 技術スタック
- **言語**: PHP 8.3
- **フレームワーク**: Laravel 11
- **DB**: MySQL 8.0
- **フロント**: Blade + Alpine.js + Tailwind (Vite)
- **テスト**: PHPUnit + Pest
- **キャッシュ**: Redis
## プロジェクト構成
```
app/
├── Http/
│ ├── Controllers/ # コントローラー
│ ├── Middleware/ # ミドルウェア
│ └── Requests/ # フォームリクエスト
├── Models/ # Eloquentモデル
├── Services/ # ビジネスロジック
├── Repositories/ # データアクセス層
resources/
├── views/ # Bladeテンプレート
├── js/ # JavaScript
└── css/ # スタイル
database/
├── migrations/ # マイグレーション
├── seeders/ # シーダー
└── factories/ # ファクトリー
```
## コーディング規約
- PSR-12 準拠
- Fat Model, Skinny Controller
- FormRequestでバリデーション
- Repositoryパターンでデータアクセスを抽象化
## 開発コマンド
- `php artisan serve` — 開発サーバー
- `php artisan migrate` — マイグレーション
- `php artisan test` — テスト
- `npm run dev` — Vite開発サーバー
テンプレート5: Node.js / Express
# CLAUDE.md
## プロジェクト概要
**[API名]** - [一言説明]
## 技術スタック
- **ランタイム**: Node.js 20 LTS
- **フレームワーク**: Express 4
- **言語**: TypeScript 5.x
- **DB**: MongoDB + Mongoose / PostgreSQL + Knex
- **認証**: JWT (jsonwebtoken)
- **テスト**: Jest + Supertest
- **バリデーション**: Zod
## プロジェクト構成
```
src/
├── routes/ # ルート定義
├── controllers/ # コントローラー
├── services/ # ビジネスロジック
├── models/ # データモデル
├── middleware/ # ミドルウェア
├── utils/ # ユーティリティ
├── types/ # 型定義
├── config/ # 設定ファイル
└── app.ts # Express設定
```
## 開発コマンド
- `npm run dev` — ts-node-dev で開発
- `npm run build` — TypeScriptビルド
- `npm test` — テスト実行
- `npm run lint` — ESLint実行
テンプレート6: 静的HTMLサイト
# CLAUDE.md
## プロジェクト概要
**[サイト名]** - [一言説明]
- コーポレートサイト / LPページ
## 技術スタック
- HTML5 + CSS3 + JavaScript (ES6+)
- CSSフレームワーク: なし(カスタムCSS)
- ビルドツール: なし(そのまま配信)
## プロジェクト構成
```
├── index.html # トップページ
├── about.html # 会社概要
├── services.html # サービス紹介
├── contact.html # お問い合わせ
├── css/
│ └── style.css # メインCSS
├── js/
│ └── main.js # メインJS
└── images/ # 画像ファイル
```
## デザイン要件
- ブランドカラー: [メインカラー], [サブカラー]
- レスポンシブ対応(モバイルファースト)
- フォント: Noto Sans JP
## デプロイ
- FTPでサーバーにアップロード
- ドキュメントルート: /public_html/
テンプレート7: Pythonデータサイエンス
# CLAUDE.md
## プロジェクト概要
**[プロジェクト名]** - [分析目的]
## 技術スタック
- **言語**: Python 3.11
- **分析**: pandas, numpy, scipy
- **可視化**: matplotlib, seaborn, plotly
- **ML**: scikit-learn, XGBoost
- **ノートブック**: Jupyter Lab
- **環境管理**: conda / venv
## プロジェクト構成
```
├── notebooks/ # Jupyterノートブック
│ ├── 01_eda.ipynb # 探索的データ分析
│ ├── 02_preprocess.ipynb # 前処理
│ └── 03_modeling.ipynb # モデリング
├── src/ # 再利用可能なコード
│ ├── data/ # データ読込・変換
│ ├── features/ # 特徴量エンジニアリング
│ └── models/ # モデル定義
├── data/
│ ├── raw/ # 生データ(Git管理外)
│ └── processed/ # 加工済みデータ
└── reports/ # レポート・図表
```
## 注意事項
- data/raw/ はGit管理外(.gitignoreに含む)
- ノートブックは実行結果をクリアしてからコミット
- 再現性のためrandom_stateは42を使用
テンプレート8: React Native(モバイルアプリ)
# CLAUDE.md
## プロジェクト概要
**[アプリ名]** - [一言説明]
- iOS / Android 対応モバイルアプリ
## 技術スタック
- **フレームワーク**: React Native 0.73 (Expo)
- **言語**: TypeScript
- **ナビゲーション**: React Navigation v6
- **状態管理**: Zustand
- **API通信**: TanStack Query
- **ストレージ**: AsyncStorage / SecureStore
## プロジェクト構成
```
src/
├── screens/ # 画面コンポーネント
├── components/ # 共通コンポーネント
├── navigation/ # ナビゲーション設定
├── hooks/ # カスタムフック
├── services/ # API通信
├── stores/ # 状態管理
├── utils/ # ユーティリティ
└── types/ # 型定義
```
## 開発コマンド
- `npx expo start` — 開発サーバー
- `npx expo run:ios` — iOSビルド
- `npx expo run:android` — Androidビルド
- `npm test` — テスト
テンプレート9: WordPressプラグイン
# CLAUDE.md
## プロジェクト概要
**[プラグイン名]** - [機能説明]
- WordPress 6.4+ 対応プラグイン
## 技術スタック
- **言語**: PHP 8.0+
- **JS**: ES6+(WP Scriptsでビルド)
- **CSS**: SCSS
- **WordPress API**: REST API, Settings API, Hooks
## プロジェクト構成
```
plugin-name/
├── plugin-name.php # メインプラグインファイル
├── includes/
│ ├── class-admin.php # 管理画面
│ ├── class-public.php # フロント表示
│ └── class-api.php # REST API
├── assets/
│ ├── js/ # JavaScript
│ └── css/ # スタイルシート
├── templates/ # テンプレートファイル
├── languages/ # 翻訳ファイル
└── tests/ # PHPUnitテスト
```
## コーディング規約
- WordPress Coding Standards準拠
- プレフィックス: [yourprefix]_ を全関数・クラスに付与
- フック名: [yourprefix]/hook_name 形式
- テキストドメイン: [plugin-text-domain]
## 開発コマンド
- `npm run build` — アセットビルド
- `npm run start` — ウォッチモード
- `composer test` — PHPUnit実行
テンプレート10: Chrome拡張機能
# CLAUDE.md
## プロジェクト概要
**[拡張機能名]** - [機能説明]
- Manifest V3 対応Chrome拡張機能
## 技術スタック
- **言語**: TypeScript
- **ビルド**: Webpack 5 / Vite
- **UI**: React(popup / options)
- **ストレージ**: chrome.storage API
- **API**: Chrome Extensions API (Manifest V3)
## プロジェクト構成
```
src/
├── background/ # Service Worker
│ └── index.ts
├── content/ # Content Script
│ └── index.ts
├── popup/ # ポップアップUI
│ ├── Popup.tsx
│ └── index.html
├── options/ # 設定ページ
│ ├── Options.tsx
│ └── index.html
├── shared/ # 共通モジュール
│ ├── storage.ts
│ └── messaging.ts
├── types/ # 型定義
└── manifest.json # 拡張機能マニフェスト
```
## 重要な注意点
- Manifest V3ではService Workerを使用(バックグラウンドページ廃止)
- Content Scriptはページのコンテキストで実行される
- chrome.storage.syncは100KBまで、localは5MBまで
## 開発コマンド
- `npm run dev` — ウォッチモード
- `npm run build` — プロダクションビルド
- `chrome://extensions/` で読み込み(デベロッパーモード)
まとめ ― テンプレートの活用ポイント
- テンプレートをそのまま使わず、プロジェクトに合わせてカスタマイズする
- プロジェクト概要と技術スタックは必ず具体的な内容に差し替える
- ファイル構成は実際のディレクトリ構造を反映させる
- コーディング規約はチームで合意した内容を記載する
- 不要なセクションは削除して、簡潔さを保つ
Claude Code入門の他のガイド
Claude Code導入ガイド ― Windows/Mac完全対応
Claude Codeのインストールから初回起動まで、OS別に完全対応 ・ 約30分
Claude Codeの主要スラッシュコマンドと活用法
16個のスラッシュコマンドを完全網羅。使い方・実行例・組み合わせテクニックまで ・ 約15分
Claude Codeの権限設定(パーミッション)完全ガイド
セキュリティと利便性を両立する権限管理の全知識 ・ 約18分
Claude Codeのモデル切り替え活用術 ― Opus・Sonnet・Haikuの使い分け
タスクに応じた最適なモデル選択でコストと品質を両立する方法 ・ 約15分
Claude Codeのセッション管理術 ― 効率的な作業の進め方
セッションの開始・継続・再開を使いこなして、長期プロジェクトを効率的に進める ・ 約12分
Claude Codeのコマンドラインオプション完全リファレンス
全CLIオプションを網羅。起動時に使える引数を徹底解説 ・ 約20分
Claude Codeのプロジェクト設定(.claude/)完全ガイド
.claudeディレクトリとCLAUDE.mdを使いこなしてチーム開発を効率化 ・ 約15分
Claude Codeの出力フォーマットとパイプ活用術
--printモードとパイプを使った自動化・スクリプト連携の実践テクニック ・ 約15分
Claude Codeのキーボードショートカットと操作効率化
知っておくべきショートカットキーと入力テクニックで作業速度を2倍に ・ 約12分
Claude Codeのアップデートとバージョン管理
最新版への更新方法からダウングレード、トラブル対処まで ・ 約10分
Claude Codeの/doctorコマンドとトラブル診断
問題発生時の診断フローとよくあるエラーの解決方法 ・ 約12分
CLAUDE.mdの書き方完全ガイド ― プロジェクト指示書のベストプラクティス
プロジェクトの文脈をAIに正確に伝える設定ファイルの書き方 ・ 約20分
Claude Codeのメモリ機能 ― 会話をまたいだ記憶の活用法
プロジェクト固有の知識を永続化して効率を最大化する ・ 約18分
.claude/settings.jsonの設定項目一覧と活用法
Claude Codeの動作を細かく制御する設定ファイルの全貌 ・ 約15分
チーム開発でのCLAUDE.md運用術
チーム全員がAIを最大限活用するための共有設定と運用ルール ・ 約20分
Claude CodeでGitを使いこなす ― 基本操作編
自然な日本語でGitを操作する方法を基本から解説 ・ 約20分
Claude Codeでコミットメッセージを自動生成する
変更内容を分析して最適なコミットメッセージを提案してくれるAI活用術 ・ 約18分
Claude CodeでPR(プルリクエスト)を作成・レビューする
AI支援によるPR作成からコードレビューまでの実践的ワークフロー ・ 約20分
Claude Codeでブランチ戦略を実践する
Git Flow・GitHub Flow・トランクベースを理解し、AIで効率的にブランチを管理 ・ 約20分
Claude Codeでコンフリクト解決をAIに任せる
マージの衝突が起きても慌てない。AIによるコンフリクト解決の実践ガイド ・ 約18分
Claude Codeでgit logを分析して変更履歴を理解する
コミット履歴からバグの原因特定やプロジェクトの変遷を把握する ・ 約22分
Claude Codeでリリースノートを自動生成する
コミット履歴からユーザー向け・開発者向けリリースノートを作成する ・ 約20分
Claude Codeのコンテキスト節約術 ― トークンを無駄にしない10の方法
コンテキストウィンドウを理解し、トークン消費を最適化するテクニック集 ・ 約18分
/compactコマンド徹底解説 ― 会話を圧縮して作業を続ける
/compactの仕組み・使いどころ・カスタム指示を完全網羅 ・ 約15分
大規模プロジェクトでのClaude Code活用戦略
大規模コードベースでの効率的なAI活用パターンとベストプラクティス ・ 約20分
.gitignoreとClaude Code ― 読み込みファイルの最適制御
ファイル探索の仕組みを理解し、ノイズを減らして精度を上げる ・ 約14分
効率的なタスク分割術 ― 1セッションの最適な使い方
タスク境界の見極めとセッション計画で生産性を最大化 ・ 約16分
Claude CodeのSkills機能入門 ― カスタムコマンドで作業を効率化
組み込みスキルからカスタムワークフローまで完全ガイド ・ 約15分
Claude Codeのフック(Hooks)でワークフローを自動化する
PreToolUse・PostToolUseフックで品質と安全性を自動で担保 ・ 約18分
カスタムスラッシュコマンドの作り方 ― 自分だけのワークフローを構築
.claude/commands/ディレクトリで独自コマンドを定義する方法 ・ 約16分
MCPサーバーでClaude Codeを拡張する ― 外部ツール連携ガイド
Model Context Protocolで無限の拡張性を手に入れる ・ 約18分
Claude CodeとVS Code・JetBrainsの連携活用法
ターミナルAIとIDEを組み合わせた最強の開発環境構築 ・ 約15分
Claude Codeでウェブサイトを0から作る実践ガイド
プロジェクト作成からデプロイまでの完全チュートリアル ・ 約20分
Claude Codeでテストコードを書かせるテクニック
単体テストからE2Eテストまで、AIによるテスト自動生成 ・ 約22分
Claude Codeでリファクタリングを効率化する
安全なコード改善をAIと一緒に進める方法 ・ 約22分
Claude Codeでドキュメントを自動生成する
README・API文書・コードコメントを効率的に作成 ・ 約20分
Claude Codeでバグを素早く見つけて修正するテクニック
エラー解析からホットフィックスまでのデバッグワークフロー ・ 約20分
Claude CodeでREST APIを設計・実装する
要件定義からテストまでAPI開発の全工程をAIと進める ・ 約25分
Claude Codeでデータベース設計を相談・実装する
ER図からマイグレーションまでDB設計をAIに相談 ・ 約22分
Claude Codeで既存プロジェクトを分析・理解する
新しいコードベースのオンボーディングをAIで加速 ・ 約22分