Project Template Ver.C(Claude Code)

  • 稼働中のプロジェクトでは、AI エージェントに、以下を指示する
    • 「PROJECT_TEMPLATE_HISTORY.md」を参照して、このプロジェクトフォルダ群、ファイル群を更新して下さい。」

プロジェクトテンプレート更新履歴

このファイルは、プロジェクトテンプレートの更新履歴を管理する。
既存プロジェクトは、このファイルを参照して未適用の更新を特定し、自プロジェクトに適用する。

テンプレートパス: f:\LocalGit\00.ProjectTemplate.C


適用方法

  1. 自プロジェクトの CLAUDE.md にある テンプレートVer を確認する
  2. そのバージョン以降の更新を上から順に適用する
  3. 適用完了後、テンプレートVer を最新バージョンに更新する

v1.9 (2026-03-29)

PROJECT_STRUCTURE.md を実態に合わせて更新

新規エージェント・Skill・.github/ の追加を反映。

操作ファイル
変更docs/dev/PROJECT_STRUCTURE.md
  • 必須/任意: 任意(v1.8 適用時に自動的に反映される)
  • 依存: v1.8

v1.8 (2026-03-29)

QA・E2Eエージェント追加、既存エージェントのモデル変更

QA評価チーム系6件、E2Eテスト系3件のエージェントを追加。既存エージェントのモデルをsonnetからopusに変更。GitHub Copilot用エージェント定義を追加。

操作ファイル
新規.claude/agents/e2e-recon-site.md
新規.claude/agents/e2e-bottomup-recon.md
新規.claude/agents/e2e-build-verify.md
新規.claude/agents/qa-acceptance-designer.md
新規.claude/agents/qa-exploratory-designer.md
新規.claude/agents/qa-regression-planner.md
新規.claude/agents/qa-test-spec-reviewer.md
新規.claude/agents/qa-result-verifier.md
新規.claude/agents/qa-bug-report-checker.md
新規.github/agents/ (Copilot用エージェント定義15件)
変更.claude/agents/code-reviewer.md (model: opus)
変更.claude/agents/commit-checker.md (model: opus)
変更.claude/agents/doc-updater.md (model: opus)
変更.claude/agents/requirements-analyzer.md (model: opus)
変更.claude/agents/session-reporter.md (model: opus)
変更.claude/agents/test-designer-static.md (model: opus)
変更.claude/agents/test-designer-ui.md (model: opus)
変更.claude/agents/test-designer-web.md (model: opus)
変更README.md
  • 必須/任意: 任意(QA・E2E機能が不要なプロジェクトは省略可)
  • 注意: モデル変更(sonnet→opus)はAPI利用コストに影響する。コスト重視の場合は sonnet のままでもよい

v1.7 (2026-03-29)

作業時間記録機能

ユーザーがチケット毎の作業時間を把握できるようにする。

操作ファイル
新規scripts/hooks/record_timestamp.sh
変更.claude/settings.json
変更.claude/rules/workflow.md
  • 必須/任意: 任意
  • 注意: _temp/.gitignore に含まれていることを確認

v1.6 (2026-03-28)

Redmine チケット説明欄・題名の更新オプション追加

説明欄の更新手段が不足していた問題を解消。

操作ファイル
変更scripts/redmine_update_ticket.py
  • 必須/任意: 必須(v1.5 適用済みの場合)
  • 依存: v1.5

v1.5 (2026-03-28)

Redmine REST API によるチケット自動登録・更新機能

手動でのRedmineコピペ登録を廃止し、APIによる自動化で作業効率を向上。

操作ファイル
新規scripts/redmine_common.py
新規scripts/redmine_register_ticket.py
新規scripts/redmine_update_ticket.py
新規scripts/redmine_add_comment.py
新規.claude/commands/register-ticket.md
新規.env
変更docs/steps/step_03-05_redmine.md
変更docs/steps/step_13-14_commit.md
  • 必須/任意: 任意(Redmine API を使用する場合は必須)
  • 注意:
  • .envREDMINE_PROJECT_ID をプロジェクトごとに設定すること
  • .env.gitignore に含まれていることを確認
  • step_03-05_redmine.md--assignee 12 はプロジェクトの担当者IDに変更すること

v1.4 (2026-03-27)

Claude Code Hooks によるコミット前自動検証

AIの判断を介さず、コミット前にシェルスクリプトで自動検証する仕組みを導入。

操作ファイル
新規scripts/hooks/pre_commit_check.sh
新規scripts/hooks/commit_msg_check.sh
変更.claude/settings.json
変更docs/dev/PROJECT_STRUCTURE.md
変更README.md
  • 必須/任意: 必須
  • 注意: .claude/settings.json の hooks セクションを既存設定にマージすること

v1.3 (2026-03-25)

ゲート条件をチェックリストから順序実行手順に変更

チェックリスト一括記入による実サイトテスト自己免除が繰り返された問題への対策。

操作ファイル
変更docs/steps/step_06-08_implementation_test.md
  • 必須/任意: 必須

v1.2 (2026-03-24)

仕様書更新の必須チェックルール追加

改善/リファクタリングを理由に仕様書作成を不要と判断した問題への対策。

操作ファイル
変更docs/steps/step_09-12_documentation.md
  • 必須/任意: 必須

v1.1 (2026-03-23)

ゲート条件に証跡ルールを追加、自己免除を明示的に禁止

モックテストのみでPASS扱いにし実サイトテストを自己免除した問題への対策。

操作ファイル
変更docs/steps/step_06-08_implementation_test.md
  • 必須/任意: 必須

v1.0 (2026-03-18)

テンプレート初版(構造整理)

操作ファイル
新規CLAUDE.md
新規.claude/rules/workflow.md
新規.claude/rules/file-management.md
新規.claude/rules/redmine.md
新規.claude/rules/code-style.md
新規.claude/rules/git-commit.md
新規.claude/rules/security.md
新規.claude/rules/testing.md
新規.claude/agents/ (9ファイル)
新規.claude/commands/ (4ファイル)
新規docs/steps/ (6ファイル)
新規docs/templates/ticket_description_template.md
新規docs/dev/PROJECT_STRUCTURE.md
新規README.md
新規PROJECT_TEMPLATE_HISTORY.md
  • 必須/任意: 必須(初回セットアップ)

プロジェクト構成詳細

このドキュメントは、プロジェクトのディレクトリ構造とファイル配置ルールを詳細に説明します。


ディレクトリ構造の全体像

PROJECT_ROOT/
├── .gitignore                          # Git除外設定
├── .env                                # 環境変数(API設定等、.gitignore対象)
├── CHANGELOG.md                        # 変更履歴
├── CLAUDE.md                           # コア開発ルール(15ステップ等)
├── PROJECT_TEMPLATE_HISTORY.md         # テンプレート更新履歴(バージョン管理)
├── README.md                           # プロジェクト概要
├── requirements.txt                    # Python依存パッケージ定義
│
├── .claude/                            # Claude Code設定
│   ├── settings.json                   # 権限設定・Hook定義
│   ├── agents/                         # サブエージェント定義
│   │   ├── code-reviewer.md            #   コードレビュー
│   │   ├── commit-checker.md           #   コミット前検証
│   │   ├── doc-updater.md              #   ドキュメント更新分析
│   │   ├── requirements-analyzer.md    #   要件分析・影響範囲調査
│   │   ├── session-reporter.md         #   セッション完了レポート
│   │   ├── ticket-writer.md            #   Redmineチケット作成
│   │   ├── test-designer-static.md     #   静的テスト設計
│   │   ├── test-designer-ui.md         #   デスクトップUIテスト設計
│   │   ├── test-designer-web.md        #   Web UIテスト設計
│   │   ├── e2e-recon-site.md           #   E2E: サイト全体偵察(Phase 0)
│   │   ├── e2e-bottomup-recon.md       #   E2E: 機能別ボトムアップ偵察(Phase 1)
│   │   ├── e2e-build-verify.md         #   E2E: テスト構築・検証(Phase 3)
│   │   ├── qa-acceptance-designer.md   #   QA: 受入テスト設計
│   │   ├── qa-exploratory-designer.md  #   QA: 探索的テスト設計
│   │   ├── qa-regression-planner.md    #   QA: 回帰テスト計画
│   │   ├── qa-test-spec-reviewer.md    #   QA: テスト仕様書レビュー
│   │   ├── qa-result-verifier.md       #   QA: テスト結果検証
│   │   └── qa-bug-report-checker.md    #   QA: バグレポート品質チェック
│   ├── commands/                       # Skills(スラッシュコマンド)
│   │   ├── commit.md                   #   /commit
│   │   ├── next-step.md                #   /next-step
│   │   ├── register-ticket.md          #   /register-ticket
│   │   ├── review.md                   #   /review
│   │   └── session-status.md           #   /session-status
│   └── rules/                          # AIエージェント向けルール
│       ├── code-style.md               #   コードスタイル・命名規則
│       ├── file-management.md          #   ファイル配置・作成・削除
│       ├── generated-files.md          #   生成ファイル保護
│       ├── git-commit.md               #   コミットメッセージ形式
│       ├── redmine.md                  #   Redmine連携(絵文字禁止等)
│       ├── security.md                 #   セキュリティ
│       ├── testing.md                  #   テスト実装
│       └── workflow.md                 #   ワークフロー・作業時間記録
│
├── .github/                            # GitHub Copilot設定
│   └── agents/                         # Copilot用エージェント定義(.claude/agents/ と対応)
│
├── docs/                               # ドキュメント類
│   ├── SESSION_NOTES.md                #   セッションメモ
│   ├── dev/                            # 開発者向けドキュメント
│   │   └── PROJECT_STRUCTURE.md        #   本ファイル
│   ├── reference/                      # 参考資料
│   ├── spec/                           # 仕様書(1機能1ファイル)
│   │   ├── SPEC-INDEX.md               #   仕様書目次・一覧
│   │   ├── SPEC-000_sample.md          #   基本仕様書サンプル
│   │   └── SPEC-XXXX_feature_template.md # 機能詳細仕様書テンプレート
│   ├── steps/                          # 15ステップ実装フロー詳細
│   │   ├── step_01-02_requirements.md
│   │   ├── step_03-05_redmine.md
│   │   ├── step_06-08_implementation_test.md
│   │   ├── step_09-12_documentation.md
│   │   ├── step_13-14_commit.md
│   │   └── step_15_session_handover.md
│   ├── templates/                      # テンプレート
│   │   └── ticket_description_template.md
│   ├── tickets/                        # Redmineチケット説明ファイル
│   │   └── <チケット番号>.md
│   └── user/                           # ユーザー向けドキュメント
│
├── scripts/                            # ユーティリティスクリプト
│   ├── hooks/                          # Claude Code Hook用スクリプト
│   │   ├── pre_commit_check.sh         #   コミット前チェック
│   │   ├── commit_msg_check.sh         #   コミットメッセージ検証
│   │   └── record_timestamp.sh         #   プロンプト送信時刻記録
│   ├── redmine_common.py               # Redmine API 共通モジュール
│   ├── redmine_register_ticket.py      # チケット新規作成
│   ├── redmine_update_ticket.py        # チケット更新
│   └── redmine_add_comment.py          # チケットコメント投稿
│
├── src/                                # メインソースコード
├── modules/                            # 共通モジュール
├── tests/                              # テストコード
│   ├── test_cases/                     # テストケースドキュメント
│   │   ├── AT-000_sample_test.md       #   自動テストドキュメントサンプル
│   │   └── TC-000_sample_test.md       #   テストケースサンプル
│   └── test_data/                      # テストデータ
│
├── _backup/                            # バックアップ(.gitignore対象)
└── _temp/                              # 一時ファイル(.gitignore対象)

: プロジェクト固有のディレクトリ(data/, images/, log/, conversation/ 等)は、必要に応じて各プロジェクトで追加する。


各ディレクトリの説明

ルートディレクトリ

ファイル説明
CLAUDE.mdAIエージェント用コアルール(15ステップフロー等)
README.mdプロジェクト概要・エージェント一覧
CHANGELOG.md変更履歴
PROJECT_TEMPLATE_HISTORY.mdテンプレート更新履歴(バージョン管理)
.env環境変数(Redmine API設定等、Gitに含めない)
requirements.txtPython依存パッケージ

.claude/

AIエージェントの設定・定義ファイル。

ディレクトリ説明
agents/サブエージェント定義(専門タスクを委譲)
commands/Skills(ユーザーがスラッシュコマンドで起動)
rules/AIエージェントの振る舞いルール(自動読み込み)
settings.json権限設定・Hook定義

docs/

ドキュメント類を格納。

ディレクトリ説明
dev/開発者向け(構成情報等)
reference/参考資料
spec/仕様書(1機能1ファイル)
steps/15ステップ実装フロー詳細
templates/テンプレート(チケット説明等)
tickets/Redmineチケット説明ファイル
user/ユーザー向けドキュメント

scripts/

ユーティリティスクリプト。

ディレクトリ/ファイル説明
hooks/Claude Code Hook用シェルスクリプト
redmine_*.pyRedmine API操作スクリプト

src/ / modules/ / tests/

ディレクトリ説明
src/メインソースコード
modules/共通モジュール
tests/テストコード・テストケースドキュメント・テストデータ

_temp/ / _backup/

ディレクトリ説明
_temp/一時ファイル(タイムスタンプログ等、.gitignore対象)
_backup/バックアップファイル(.gitignore対象)

ファイル配置ルール

.claude/rules/file-management.md を参照。


CLAUDE.md – コア開発ルール

プロジェクト概要

[要記入: プロジェクト名] – [要記入: プロジェクトの簡潔な説明]

項目
言語[要記入: 例 Python 3.8以上]
メイン[要記入: 例 src/main.py]
起動方法[要記入: 例 python src/main.py]
テスト実行[要記入: 例 pytest tests/]
設定ファイル[要記入: 例 config.yaml]
起動状態[要記入: 起動OK / 起動NG / 未実装]
最新チケット[要記入: 例 #1234]
テンプレートVerv1.9
テンプレートパスf:\LocalGit\00.ProjectTemplate.C

【最重要】15ステップ実装フロー

すべてのステップを順番に実施。スキップ禁止。

  • 「次に実行するステップ」の詳細ドキュメントのみ読む
  • 「次に実行するステップ」とは無関係な他のステップの詳細ドキュメントは読まない

ステップ一覧

ステップ内容詳細ドキュメント
1-2要件の理解step_01-02_requirements.md
3-5Redmineチケット作成step_03-05_redmine.md
6-8実装とテストstep_06-08_implementation_test.md
9-12ドキュメント更新step_09-12_documentation.md
13-14commit & pushstep_13-14_commit.md
15セッション引き継ぎstep_15_session_handover.md

セッション開始時の必須プロトコル

1. 状態確認と報告

以下のフォーマットで報告する:

- チケット番号: #XXXX(未設定の場合は「未設定」)
- 進捗: ステップX/15完了
- 次のステップ: ステップY

2. 該当ステップのドキュメントを読む

  • 「次のステップ」に対応するドキュメントのみ読む
  • 他のステップのドキュメントは読まない

3. ユーザー確認を待つ

  • 状態認識が正しいかユーザーに確認する
  • ユーザーの指示を待ってから作業開始する

4. ステップをスキップしない

  • 必須ステップは順番通りに実施する
  • 実装完了でもテスト・ドキュメント・コミットは必ず実施する
  • テスト未実施・テスト失敗の状態でユーザーテストを依頼することは絶対禁止
  • 1チケット完了で必ず停止してユーザーに報告する

参照ドキュメント

ドキュメント用途
docs/dev/PROJECT_STRUCTURE.mdプロジェクト構造

注意事項