Initial commit
This commit is contained in:
286
commands/task-refine.md
Normal file
286
commands/task-refine.md
Normal file
@@ -0,0 +1,286 @@
|
||||
---
|
||||
description: GitHub IssueをProduct Backlog Item(PBI)としてリファインメントし、実装可能なタスクに分解する
|
||||
argument-hint: <issue_number> [--group=N] [--from=groupN] [--edit=groupN]
|
||||
allowed-tools: Bash, Read, Write, Edit, Glob
|
||||
---
|
||||
|
||||
# GitHub Issue リファインメント・タスク分解
|
||||
|
||||
指定されたGitHub Issue #$1 をマイクロステップの対話を通じて、具体的な実装タスクに分解します。
|
||||
|
||||
## 実行モード
|
||||
|
||||
### 基本実行
|
||||
```bash
|
||||
/task-refine 123 # 全グループを順次実行
|
||||
/task-refine 123 --group=1 # Group 1のみ実行
|
||||
/task-refine 123 --from=group2 # Group 2から再開
|
||||
/task-refine 123 --edit=group1 # Group 1のみ修正
|
||||
```
|
||||
|
||||
## 3段階グループ構成
|
||||
|
||||
### Group 1: 要件・制約の確定 (5-8分)
|
||||
**目的**: 何を作るかを明確化
|
||||
|
||||
**ステップ構成**:
|
||||
- Step 1: 認証・処理方式の選択
|
||||
- Step 2: 機能範囲の決定
|
||||
- Step 3: セキュリティレベルの設定
|
||||
- Step 4: 非機能要件の確認
|
||||
|
||||
**出力**: 機能要件と制約の確定
|
||||
|
||||
### Group 2: 技術・アーキテクチャ設計 (8-12分)
|
||||
**目的**: どう実装するかを技術的に決定
|
||||
|
||||
**ステップ構成**:
|
||||
- Step 5: 技術スタックの選択
|
||||
- Step 6: データ設計・モデル構造
|
||||
- Step 7: API設計・インターフェース
|
||||
- Step 8: UI/UX設計方針
|
||||
|
||||
**前提条件**: Group 1の完了が必要
|
||||
**出力**: 技術仕様と設計方針の確定
|
||||
|
||||
### Group 3: 実装・タスク構成 (5-8分)
|
||||
**目的**: 具体的な作業手順に分解
|
||||
|
||||
**ステップ構成**:
|
||||
- Step 9: タスク分解粒度の決定
|
||||
- Step 10: 実装優先順位の設定
|
||||
- Step 11: 依存関係の整理
|
||||
- Step 12: 最終タスクリストの確認
|
||||
|
||||
**前提条件**: Group 1, 2の完了が必要
|
||||
**出力**: 実装可能なタスクリスト
|
||||
|
||||
## 実行フロー
|
||||
|
||||
### 1. Issue分析と進行状況確認
|
||||
```bash
|
||||
# GitHub CLI でIssue情報取得
|
||||
gh issue view $1 --json title,body,url
|
||||
|
||||
# 既存の進行状況確認
|
||||
if [ -f "tasks/pbi-$1/.refine-progress.json" ]; then
|
||||
# 前回の続きから再開オプション表示
|
||||
fi
|
||||
```
|
||||
|
||||
### 2. グループ別実行制御
|
||||
|
||||
#### Group 1実行例:
|
||||
```
|
||||
=== Group 1: 要件・制約の確定 ===
|
||||
Progress: ▓▓▓░░░░░░░ (3/10 steps)
|
||||
|
||||
Step 1/4: 認証・処理方式
|
||||
GitHub Issue #$1から検出キーワード: [動的表示]
|
||||
|
||||
Q: 主要な処理方式を選択してください
|
||||
1. 認証系 (ログイン、権限管理)
|
||||
2. データ処理系 (CRUD、検索、集計)
|
||||
3. UI/UX系 (画面、コンポーネント)
|
||||
4. 統合系 (API連携、外部サービス)
|
||||
5. その他
|
||||
|
||||
選択: 1
|
||||
|
||||
Step 2/4: 機能範囲
|
||||
認証系機能として、実装する機能を選択してください (複数選択可):
|
||||
1. ユーザーログイン
|
||||
2. ユーザー登録
|
||||
3. パスワードリセット
|
||||
4. 権限・ロール管理
|
||||
5. プロフィール管理
|
||||
6. セッション管理
|
||||
|
||||
選択: 1,2,3
|
||||
|
||||
Step 3/4: セキュリティレベル
|
||||
選択した機能 (ログイン、登録、リセット) に対するセキュリティレベル:
|
||||
1. 基本 (パスワード暗号化、基本バリデーション)
|
||||
2. 強化 (2FA、IP制限、監査ログ)
|
||||
3. 最小限 (暗号化のみ)
|
||||
|
||||
選択: 1
|
||||
|
||||
Step 4/4: 非機能要件
|
||||
Q: 想定される利用規模は?
|
||||
1. 小規模 (~100ユーザー)
|
||||
2. 中規模 (~1,000ユーザー)
|
||||
3. 大規模 (1,000ユーザー+)
|
||||
|
||||
選択: 2
|
||||
|
||||
✅ Group 1完了: 要件・制約が確定
|
||||
|
||||
【確定内容】
|
||||
- 処理分野: 認証系
|
||||
- 機能: ログイン、登録、パスワードリセット
|
||||
- セキュリティ: 基本レベル
|
||||
- 規模: 中規模対応
|
||||
|
||||
次のアクション:
|
||||
1. Group 2に進む (技術・アーキテクチャ設計)
|
||||
2. 後で続行 (進捗保存)
|
||||
3. Group 1を修正
|
||||
|
||||
選択: 1
|
||||
```
|
||||
|
||||
### 3. 進捗管理と状態保存
|
||||
|
||||
**.refine-progress.json 形式**:
|
||||
```json
|
||||
{
|
||||
"issue": "$1",
|
||||
"started": "2024-01-01T10:00:00Z",
|
||||
"current_group": 2,
|
||||
"completed_groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"completed_at": "2024-01-01T10:08:00Z",
|
||||
"decisions": {
|
||||
"processing_type": "authentication",
|
||||
"features": ["login", "registration", "password_reset"],
|
||||
"security_level": "basic",
|
||||
"scale": "medium"
|
||||
}
|
||||
}
|
||||
],
|
||||
"current_step": 6,
|
||||
"session_data": {
|
||||
"tech_stack_proposal": "node_express",
|
||||
"database_preference": "postgresql"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 4. 最終ファイル生成
|
||||
|
||||
#### 拡張されたREADME.md形式:
|
||||
```yaml
|
||||
---
|
||||
issue: $1
|
||||
title: <issue_title>
|
||||
url: <github_url>
|
||||
phase: completed
|
||||
refinement_completed: <ISO8601>
|
||||
created: <ISO8601>
|
||||
updated: <ISO8601>
|
||||
---
|
||||
|
||||
# PBI #$1
|
||||
|
||||
## リファインメント履歴
|
||||
|
||||
### Group 1: 要件・制約確定 ✅
|
||||
- 処理分野: 認証系
|
||||
- 機能範囲: ログイン、登録、パスワードリセット
|
||||
- セキュリティ: 基本レベル (暗号化、バリデーション)
|
||||
- 規模: 中規模対応 (~1,000ユーザー)
|
||||
|
||||
### Group 2: 技術・アーキテクチャ設計 ✅
|
||||
- バックエンド: Node.js + Express + PostgreSQL
|
||||
- フロントエンド: React + TypeScript (既存環境)
|
||||
- 認証方式: JWT (24時間有効期限)
|
||||
- API: RESTful 4エンドポイント
|
||||
|
||||
### Group 3: 実装・タスク構成 ✅
|
||||
- タスク数: 8個
|
||||
- カテゴリ: Setup(1), Models(2), Services(2), UI(2), Tests(1)
|
||||
- 実装期間: 5-8日 (1日1-2タスク想定)
|
||||
|
||||
## タスク一覧 (カテゴリ別)
|
||||
|
||||
### Setup
|
||||
- [ ] プロジェクト環境構築 (todo-setup-1.md)
|
||||
|
||||
### Models
|
||||
- [ ] User model実装 (todo-models-1.md)
|
||||
- [ ] 認証関連テーブル設計 (todo-models-2.md)
|
||||
|
||||
### Services
|
||||
- [ ] 認証API実装 (todo-services-1.md)
|
||||
- [ ] パスワードリセット機能 (todo-services-2.md)
|
||||
|
||||
### UI
|
||||
- [ ] ログインフォーム実装 (todo-ui-1.md)
|
||||
- [ ] 登録フォーム実装 (todo-ui-2.md)
|
||||
|
||||
### Tests
|
||||
- [ ] 認証機能テスト (todo-tests-1.md)
|
||||
|
||||
## 要件トレーサビリティ
|
||||
- ログイン機能 → setup-1, models-1, services-1, ui-1, tests-1
|
||||
- 登録機能 → models-1, services-1, ui-2, tests-1
|
||||
- リセット機能 → models-2, services-2, tests-1
|
||||
```
|
||||
|
||||
#### カテゴリ別タスクファイル形式:
|
||||
```yaml
|
||||
---
|
||||
parent: $1
|
||||
category: setup
|
||||
priority: high
|
||||
estimated_hours: 4
|
||||
created: <ISO8601>
|
||||
started: null
|
||||
completed: null
|
||||
---
|
||||
|
||||
# プロジェクト環境構築
|
||||
|
||||
## やること
|
||||
Node.js + Express + PostgreSQL の認証プロジェクト環境を構築する
|
||||
|
||||
## 成功条件
|
||||
- [ ] package.json作成 (express, jwt, bcrypt, pg依存関係)
|
||||
- [ ] PostgreSQL接続設定完了
|
||||
- [ ] 基本的なサーバー起動確認
|
||||
- [ ] 環境変数設定 (.env.example作成)
|
||||
|
||||
## 技術仕様
|
||||
- Node.js: v18+
|
||||
- Express: v4.x
|
||||
- PostgreSQL: v14+
|
||||
- JWT: jsonwebtoken
|
||||
- 暗号化: bcrypt
|
||||
|
||||
## 制約
|
||||
- 環境変数でDB接続情報管理
|
||||
- セキュリティ設定は本番想定
|
||||
- 既存Reactプロジェクトとの統合考慮
|
||||
|
||||
## 実装メモ
|
||||
(作業中に追記)
|
||||
```
|
||||
|
||||
## エラーハンドリング
|
||||
|
||||
### 実行前チェック
|
||||
- GitHub CLI認証状態確認
|
||||
- Issue存在確認
|
||||
- tasksディレクトリアクセス権確認
|
||||
|
||||
### 進行中のエラー処理
|
||||
- 不正な選択肢入力時の再プロンプト
|
||||
- ネットワークエラー時の状態保存
|
||||
- 強制終了時の進捗復旧
|
||||
|
||||
### グループ間整合性チェック
|
||||
- Group 2開始時にGroup 1決定事項の参照
|
||||
- Group 3開始時にGroup 1, 2決定事項の参照
|
||||
- 矛盾検出時の修正提案
|
||||
|
||||
## 完了条件
|
||||
|
||||
- 全3グループが正常完了している
|
||||
- `tasks/pbi-$1/README.md` にリファインメント履歴が記録されている
|
||||
- カテゴリ別のタスクファイルが適切に生成されている
|
||||
- 各タスクが実装可能なレベルまで詳細化されている
|
||||
- 要件トレーサビリティが確立されている
|
||||
|
||||
実行を開始しますか?
|
||||
Reference in New Issue
Block a user