| name | implementation-plan |
| description | 実装プランファイル作成・更新の手順。実装開始時およびPR作成時にissues/配下の実装プランの有無を確認し、なければ会話履歴・git log・git diffから生成する。複数ファイル変更・新規機能追加・DBマイグレーション伴う変更が対象。 |
| when_to_use | 実装開始時 / PR作成時に実装プランの作成・更新が必要なとき。複数ファイル変更・新機能追加・DBマイグレーションを含む変更で自動参照。Triggers: '実装プラン', '実装を開始', 'PR作成', 'implementation plan', 'plan first', '設計書を作成', 'issues/に追加' |
実装プランガイド
基本方針
実装の開始時およびPR作成時に、issues/ 配下に実装プランファイルが存在するか確認し、なければ作成する。プランを残すことで後任エンジニアや将来の自分が変更意図を追跡できる。
実装プランが必要なケース
以下のいずれかに該当する場合は作成する:
- 複数ファイルにまたがる変更
- 新規機能の追加
- 既存ロジックの大幅な変更
- DBマイグレーションを伴う変更
- 複数のタスクに分解できる作業
実装プランが不要なケース
以下のような軽微な変更では不要:
- typo修正、文言変更
- 設定値の変更のみ
- 1ファイルで完結する軽微な修正
- フォーマッター適用のみ
- ドキュメントのみの更新
判断に迷う場合はユーザーに確認する。
ファイル配置・命名
- パス:
issues/
- ファイル名に日本語は含めないこと(Git/CI/検索ツール互換性のため)
- タスクIDがある場合:
issues/TASK-1234_concise-description.md
- タスクIDがない場合:
issues/{feature-name}.md
PR作成時のプランファイル生成
PR作成時に issues/ にプランファイルが存在しない場合、以下の情報源からプランファイルを生成する:
- 会話履歴 - それまでのやりとりから要件・背景・方針を抽出
- git log - コミット履歴からタスクの流れと変更概要を把握
- git diff - 実際の変更内容から修正対象ファイルと変更内容を特定
これらを組み合わせて、下記フォーマットに沿ったプランファイルを作成してからPRを作成する。
プランのフォーマット
# {タスクID}: {機能名/修正内容}
## 関連リンク
(Issue/チケット/設計ドキュメントがあれば記載)
## 概要
- 何を実装・修正するのか
## 問題・背景
- なぜこの変更が必要なのか(該当する場合)
## 修正対象
- 変更対象のファイルパス一覧
## タスク分解
### Task 1: {タスク名}
- **対象ファイル:** 変更対象のファイルパス
- **変更内容:** 具体的な変更内容
### Task 2: {タスク名}
- **対象ファイル:** 変更対象のファイルパス
- **変更内容:** 具体的な変更内容
## 影響範囲
- 変更による影響を受ける機能やファイル
## テスト計画
- [ ] {実装した機能が正しく動作することの確認}
- [ ] {既存機能にリグレッションがないことの確認}
ワークフロー
- 実装の依頼を受けたら、まずプランが必要か判断する
- 必要な場合は
issues/ にプランファイルを作成してから実装を開始する
- PR作成時にプランファイルが存在しない場合、必要であれば会話履歴・git log・git diffからプランファイルを生成してからPRを作成する
プランと PR Body の関係
- プランファイル = 「なぜ」「どう分解するか」を残す永続的な記録
- PR body = 「何をやったか」「どうテストするか」のレビュー用サマリ
同じ内容をコピーせず、PR bodyでは「詳細は issues/xxx.md 参照」と誘導してもよい。