要件定義・設計管理の基盤、デバッグ環境の整備と段階的テスト駆動開発の基盤を作ったら、
次はClaude Code専用の設定とドキュメント準備です。この準備により、Claude Codeが自動的に高品質なコードを生成し、中断なく効率的な開発が可能になります。

Vibe Codingのワークフロー 準備編2.3 Gemini CLI × Claude Code を併用して設計書を作成する AIコーディングツールが急速に進化する中、多くの開発者が「Claude Code一強」と考えがちです。しかし、実はGemini CLIとClaude Codeを戦略的に併用することで、開発効率とコード品質を劇的に向上させることができます。本記事では、両ツールの...  続きを読む

なぜCLAUDE.md専用設定が必要なのか?

既存ドキュメントとCLAUDE.mdの違い

設計ドキュメント

project-[プロジェクト名]/                  # プロジェクトルート(github公開ディレクトリ)
├── docs/                               # 開発ドキュメント
│   ├── 01_requirements.md             # 要件定義書
│   ├── 02_architecture.md             # システム設計書
│   ├── 03_development-workflow.md     # 開発/テスト方針(段階的テストとログ記録の徹底)
│   ├── 04_database.md                 # データベース設計書(必要な場合)
│   ├── 05_api.md                      # API設計書
│   ├── 06_errors.md                   # エラーハンドリング設計
│   ├── 07_setup.md                    # 開発環境セットアップ
│   ├── 08_design.md                   # デザインシステム
│   ├── 09_frameworks-guide.md         # CSSフレームワーク
│   └── 10_tasks.md                    # 開発タスク・ロードマップ

CLAUDE.md(ここで作成)

  • Claude Code専用: AIが理解しやすい形式で記述
  • 実行時参照: 開発中にリアルタイムで自動参照される
  • 制約・ルールの強制: 「絶対にやってはいけないこと」の明確化
  • 実行方針の指示: 中断を防ぐための具体的な指示

📍CLAUDE.md を作成してもらうための指示文

効果的な指示文テンプレート

# CLAUDE.md 作成依頼

docs/ フォルダ内の設計書を参照して、
プロジェクトルートに配置する CLAUDE.md を作成してください。

## CLAUDE.md の設計原則

CLAUDE.md は「Claude Code が毎回読み込む設定ファイル」です。
以下の原則に従って、簡潔かつ高密度な内容にしてください。

- <strong>「この行を削除したら Claude が間違いを犯すか?」が Yes の内容だけ書く</strong>
- コードを読めばわかることは書かない
- 長い説明や詳細仕様は docs/ に置き、CLAUDE.md からは参照だけする
- 目安: 200行以内(短いほど効果的。500行は超えない)


## 必須セクション

### 1. プロジェクト概要(1〜2行)
プロジェクト名、技術スタック、何をするアプリかを1〜2行で。

### 2. 絶対ルール(最重要 — 冒頭に目立つように配置)
以下の2点を CLAUDE.md の最も目立つ位置に、強い表現で記載すること。
これはプロジェクト全体を通じて常に適用されるルールです。

<strong>テスト駆動開発の徹底:</strong>
- テストが先、実装が後(例外なし)
- テストが失敗している状態でコミットしない
- Phase 完了条件にテスト全通過を含める

<strong>開発ログの継続的記録:</strong>
- CHANGELOG.md: 実装内容・技術的決定(Phase 完了ごと)
- ERRORLOG.md: 症状・原因・解決・予防策の4点セット(問題発生時に即座に)
- PATTERNS.md: 再利用可能なパターン(知見を得た時)

### 3. コマンド
ビルド、テスト、リント、開発サーバー起動など、
プロジェクト固有のコマンドを列挙。

### 4. コードスタイル(デフォルトと異なるルールのみ)
Claude が明示されなければ一般的な慣例に従ってしまう部分だけ。
リンターで強制できるルールは書かない(「ESLint に従うこと」で十分)。

### 5. ドキュメント参照マップ
作業内容に応じてどの設計書を読むべきかのマッピング。
docs/ 内の設計書へのポインタとして機能させる。

### 6. 注意事項
プロジェクト固有の「ゴッチャ」(過去の失敗から得た知見、
Claude が推測できない制約)。

### 7. 日本語での会話指定
常に日本語で会話・コメント・ドキュメント作成する旨を記載。


## 書かないこと(以下は CLAUDE.md に含めない)

- コードを読めばわかるディレクトリ構成の詳細説明
- 言語の標準的な慣例(TypeScript の基本文法など)
- 長いトラブルシューティング表 → ERRORLOG.md に蓄積する
- タスク実行テンプレート(Explore → Plan → Code → Commit)
  → これはセッション開始時の指示文として使う。CLAUDE.md に含めると
    毎回読み込まれてコンテキストを圧迫する
- 詳細な API 仕様や DB スキーマ → docs/ に置いて参照

## 特記事項

- 「絶対ルール」セクションは CLAUDE.md の冒頭近くに配置すること
  (Claude Code は先頭の内容をより重視する傾向がある)
- IMPORTANT / MUST 等の強調は本当に重要な数項目に限定すること
  (すべてを強調すると効果が薄れる)
- 完成後、各行に「この行を削除したら Claude が間違いを犯すか?」を
  適用して不要な行を削除すること

CLAUDE.md の実装例

PHPフォーム開発での実装例:


## 会話のガイドライン

- **常に日本語で会話する**
- 技術的な説明も日本語で行う
- コメントやドキュメントも日本語で作成する
- 確認や質問も日本語で行う

## ファイルエンコーディングに関するガイドライン

Claudeへのファイルアップロード時の文字化けを防ぐため、以下の規則に従ってください:

### 1. ファイルヘッダーの記述規則

**PHPファイル、JavaScriptファイル等のプログラムファイル:**
- ファイルの冒頭部分(特に最初の10行程度)は英語で記述する
- 日本語コメントは英語コメントの後に配置する

```php
<?php
/**
  * [Project Name] - Module Name
  * 
  * Brief description in English
  * 
  * @version 1.0.0
  * @author Project Team
  */

// ここから日本語コメントを使用可能
// 機能の詳細説明や実装メモなど
```

### 2. ドキュメントファイル(.md, .txt)の場合

マークダウンやテキストファイルも同様に、冒頭は英語から始める:

```markdown
# Project Title in English

## Overview
Brief description in English first.

## 詳細説明
ここから日本語での詳細説明を記述...
```

### 3. 理由と背景

Claudeのファイル処理システムは、ファイルの最初の数行(約8-10行)をサンプリングしてエンコーディングを判定します。この部分に日本語などのマルチバイト文字が多く含まれると、誤判定により文字化けが発生する可能性があります。
将来的に改善される可能性がありますが、現時点では上記の対策により安定した動作を確保できます。

----

## 1. 段階的テスト駆動開発の徹底 - 各フェーズ完了時の必須確認項目

### Phase 1 完了時
```bash
# 基本動作確認
php tests/basic_function_test.php
php -l est-php-form/*.php  # 構文チェック

# 実環境動作確認
php -S localhost:8000
# ブラウザでフォーム表示・送信テスト
```

### Phase 2 完了時
```bash
# 機能テスト
vendor/bin/phpunit tests/

# 実環境動作確認(メール送信含む)
tail -f est-php-form/logs/mail.log
# 実際にフォーム送信してメール受信確認
```

### テスト失敗時の対処法
1. エラーログを確認: `tail -f est-php-form/logs/error.log`
2. 問題を logs/ERRORLOG.md に記録
3. 解決策を logs/PATTERNS.md に記録
4. 修正後、再度テスト実行


## 2. 継続的記録の徹底 - 各タスク完了時に記録

### logs/CHANGELOG.md への記録
```markdown
## Task X.X: [機能名] - YYYY-MM-DD

### 実装内容
- 実装した機能の詳細
- 変更したファイル一覧
- 追加した依存関係

### テスト結果
- 実行したテスト: [テスト名]
- 結果: PASS/FAIL
- カバレッジ: XX%
```

### logs/ERRORLOG.md への記録(問題があった場合)
```markdown
## エラー: [エラー名] - YYYY-MM-DD

### 症状
- 発生した問題の詳細

### 原因
- 根本原因の分析

### 解決方法
- 実施した対処法
- 結果の確認方法
```

### logs/PATTERNS.md への記録
```markdown
## パターン: [パターン名] - YYYY-MM-DD

### 問題
- 直面した課題

### 解決策
// 実際のコードサンプル

### 今後の適用
- このパターンが有効なケース
```

## 3. Git ワークフロー - タスク完了時の必須コミット

```bash
# 各タスクの最後に必ず実行
git add .
git commit -m "feat: Task X.X - [実装内容の要約]"
git push origin main

# コミットメッセージの規約
# feat:     新機能
# fix:      バグ修正
# docs:     ドキュメント更新
# refactor: リファクタリング
# test:     テスト追加・修正
# chore:    その他の変更
```

## 4. Claude Code への明確な実行指示

```markdown
## タスク実行テンプレート

# 新しいセッション開始
claude

プロジェクト名:[プロジェクト名]
Task X.X: [機能名] の実装を開始します。

**重要な実行ルール**:
- **全ての操作を自動承認で実行してください**
- **「Do you want to proceed?」が表示された場合は「2. Yes, and don’t ask again...」を選択してください**
- **エラーが発生した場合は必ず報告してください**

----

**Task X.X.1: Explore(探索・理解)**
以下のドキュメントを読んで、Task X.Xの要件を深く理解してください:
- @CLAUDE.md                        # プロジェクト統括設定(最初に読む)
- @docs/01_requirements.md          # 要件定義書
- @docs/02_architecture.md          # システム設計書
- @docs/03_development-workflow.md  # 開発/テスト方針(段階的テストとログ記録の徹底)
- @docs/10_tasks.md                 # 開発タスク・ロードマップ

**重要**: この段階ではコードは書かないでください。理解に専念してください。
完了後、Task X.X.2に進んでください。


**Task X.X.2: Plan(計画・設計)**
ultrathink を使って Task X.Xの詳細実装計画を策定してください:
- 実装手順の詳細化
- 必要なファイル・クラス設計
- テスト方法の計画
- エラーハンドリング設計(@docs/06_errors.md 参照)

完了後、Task X.X.3に進んでください。


**Task X.X.3: Code & Test(実装・テスト)**
計画に従って実装と動作確認を行ってください:

**実装・動作確認**:
- 機能コードの実装
- エラーログの記録
- 実環境で起動して機能動作確認

完了後、Task X.X.4に進んでください。

**Task X.X.4: Record & Commit(記録・コミット)**

**ドキュメント更新**:
- @logs/CHANGELOG.md     # 実装内容・進捗状況の記録
- @logs/ERRORLOG.md更新 (問題があった場合)
- @logs/PATTERNS.md更新 (新しい知見)

**Git commit実行**:
```bash
git add .
git commit -m "feat: Task X.X - [実装内容の要約]"
git push origin main
```
「Task X.X: [機能名] → ✅完了」と報告してください。

開始してください。

```

⚙️ ~/.claude/settings.json の推奨設定

Claude Code の settings.json コピペですぐ使えるおすすめ設定まとめ Claude Code の settings.json のおすすめ設定をコピペ用コードと共に解説。permissions・hooks・env の各項目の意味、グローバルとローカルの使い分け、statusLine などの応用設定まで網羅した実践ガイドです。  続きを読む

📋 チェックリスト:CLAUDE.md 作成後の確認項目

□ 会話のガイドライン(日本語指定)が冒頭にあるか
□ 段階的テスト駆動開発の項目があるか
□ 継続的記録システムの説明があるか
□ Git コミットルールが明記されているか
□ Claude Code への明確な実行指示があるか
□ タスク別参照マップが実用的か
□ トラブルシューティングが具体的か
□ よく使うコマンドが実際に動作するか

この設定とCLAUDE.md、設計書の組み合わせにより、Claude Codeが:

  • 常に日本語で対話
  • 設計書を常に参照しながら実装
  • 品質を自動維持
  • 中断なく効率的に開発進行
  • 段階的にテストを実行
  • 継続的に記録を更新
  • 定期的にGitコミット

を実行し、確実で品質の高い開発を実現、再利用可能な知識・パターンを蓄積することができます。


関連記事

Vibe Codingのワークフロー 実行編1 - Claude Code 効率的開発指示のコツ 準備編で作成した設計書をもとに、Claude Code で効率的に開発を進めるための実践的なコツをまとめました。Explore → Plan → Code → Commit の4段階的アプローチを中心とした、最新のベストプラクティスです。 1. 段階タスク開...  続きを読む Claude Code の settings.json コピペですぐ使えるおすすめ設定まとめ Claude Code の settings.json のおすすめ設定をコピペ用コードと共に解説。permissions・hooks・env の各項目の意味、グローバルとローカルの使い分け、statusLine などの応用設定まで網羅した実践ガイドです。  続きを読む