Initial commit
This commit is contained in:
265
commands/resume.md
Normal file
265
commands/resume.md
Normal file
@@ -0,0 +1,265 @@
|
||||
---
|
||||
description: 中断されたワークフローを再開する
|
||||
---
|
||||
|
||||
# ワークフローの再開
|
||||
|
||||
中断された機能開発ワークフローを再開します。
|
||||
|
||||
## あなたの役割
|
||||
|
||||
`.tasks.json` ファイルを読み込み、現在のワークフロー状態を分析して、適切な次のステップを実行してください。
|
||||
|
||||
### ステップ1: タスクファイルの確認
|
||||
|
||||
まず、`.tasks.json` ファイルが存在するか確認します:
|
||||
|
||||
```javascript
|
||||
const fs = require('fs');
|
||||
const tasksFile = '.tasks.json';
|
||||
|
||||
if (!fs.existsSync(tasksFile)) {
|
||||
// タスクファイルが存在しない
|
||||
console.log('❌ 進行中のワークフローが見つかりません');
|
||||
console.log('\n新しいワークフローを開始するには:');
|
||||
console.log(' /new-feature [機能の説明]');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const data = JSON.parse(fs.readFileSync(tasksFile, 'utf-8'));
|
||||
```
|
||||
|
||||
### ステップ2: 現在の状態を分析
|
||||
|
||||
ワークフロータスク(type: "workflow")の状態を確認し、次に実行すべきタスクを特定します:
|
||||
|
||||
```javascript
|
||||
// ワークフロータスクを取得
|
||||
const workflowTasks = data.tasks.filter(t => t.type === 'workflow');
|
||||
|
||||
// 作業中のタスクを探す
|
||||
const inProgressTask = workflowTasks.find(t => t.status === 'in_progress');
|
||||
|
||||
// 未着手のタスクを探す(IDの昇順で最初のもの)
|
||||
const pendingTask = workflowTasks
|
||||
.filter(t => t.status === 'pending')
|
||||
.sort((a, b) => a.id - b.id)[0];
|
||||
|
||||
// 次に実行すべきタスク
|
||||
const nextTask = inProgressTask || pendingTask;
|
||||
```
|
||||
|
||||
### ステップ3: 状態に応じた処理
|
||||
|
||||
#### ケース1: 作業中のタスクがある
|
||||
|
||||
作業中のタスクがある場合、そのタスクを続行します:
|
||||
|
||||
```
|
||||
## 📋 ワークフロー状態
|
||||
|
||||
**機能**: [機能名]
|
||||
|
||||
### 現在の進捗
|
||||
- ✅ 要件整理
|
||||
- ✅ ドキュメント作成
|
||||
- ⏳ テスト作成 ← 作業中
|
||||
- ⬜ タスク作成
|
||||
- ⬜ 実装
|
||||
|
||||
### 次のアクション
|
||||
タスク「テスト作成」が作業中です。
|
||||
|
||||
このタスクを続行しますか?
|
||||
- **続行する場合**: `/create-tests` を実行
|
||||
- **状態を確認する場合**: `/list-tasks` を実行
|
||||
```
|
||||
|
||||
この場合、ユーザーに確認を求め、承認されたら対応するコマンドを実行します。
|
||||
|
||||
#### ケース2: 未着手のタスクがある
|
||||
|
||||
未着手のタスクがある場合、次のタスクを開始します:
|
||||
|
||||
```
|
||||
## 📋 ワークフロー状態
|
||||
|
||||
**機能**: [機能名]
|
||||
|
||||
### 現在の進捗
|
||||
- ✅ 要件整理
|
||||
- ✅ ドキュメント作成
|
||||
- ✅ テスト作成
|
||||
- ⬜ タスク作成 ← 次のステップ
|
||||
- ⬜ 実装
|
||||
|
||||
### 次のアクション
|
||||
次は「タスク作成」です。
|
||||
|
||||
実装のためのサブタスクを作成します。
|
||||
続行しますか? (yes/no)
|
||||
```
|
||||
|
||||
承認されたら、SlashCommandツールで対応するコマンドを実行します。
|
||||
|
||||
#### ケース3: すべて完了している
|
||||
|
||||
すべてのワークフロータスクが完了している場合:
|
||||
|
||||
```
|
||||
## 📋 ワークフロー状態
|
||||
|
||||
**機能**: [機能名]
|
||||
|
||||
### 🎉 ワークフロー完了!
|
||||
|
||||
すべてのタスクが完了しました:
|
||||
- ✅ 要件整理
|
||||
- ✅ ドキュメント作成
|
||||
- ✅ テスト作成
|
||||
- ✅ タスク作成
|
||||
- ✅ 実装
|
||||
|
||||
### 次のステップ
|
||||
1. コードレビューを依頼
|
||||
2. ドキュメントを確認
|
||||
3. 本番環境へのデプロイを検討
|
||||
|
||||
完了したタスクは履歴ファイル (.tasks-history.json) に保存されています。
|
||||
```
|
||||
|
||||
#### ケース4: サブタスクが残っている
|
||||
|
||||
ワークフロータスクは完了しているが、サブタスク(type: "subtask")が残っている場合:
|
||||
|
||||
```
|
||||
## 📋 ワークフロー状態
|
||||
|
||||
**機能**: [機能名]
|
||||
|
||||
### ワークフロー
|
||||
すべてのワークフロータスクが完了しています。
|
||||
|
||||
### 実装サブタスク
|
||||
- ✅ ユーザーモデルの作成
|
||||
- ⏳ 認証APIエンドポイントの実装 ← 作業中
|
||||
- ⬜ フロントエンドフォームの作成
|
||||
|
||||
### 次のアクション
|
||||
サブタスク「認証APIエンドポイントの実装」が作業中です。
|
||||
|
||||
このタスクを続行するには:
|
||||
- `/implement` を実行してください
|
||||
- タスク詳細を確認: `/list-tasks`
|
||||
```
|
||||
|
||||
## コマンドとタスクIDの対応
|
||||
|
||||
| タスクID | タスク名 | コマンド |
|
||||
|---------|---------|---------|
|
||||
| 1 | 要件整理 | `/new-feature` |
|
||||
| 2 | ドキュメント作成 | `/create-docs` |
|
||||
| 3 | テスト作成 | `/create-tests` |
|
||||
| 4 | タスク作成 | `/create-tasks` |
|
||||
| 5 | 実装 | `/implement` |
|
||||
|
||||
## 実装フロー
|
||||
|
||||
```javascript
|
||||
// 1. タスクファイル読み込み
|
||||
const data = loadTasksFile();
|
||||
|
||||
// 2. 状態分析
|
||||
const currentState = analyzeWorkflowState(data);
|
||||
|
||||
// 3. ユーザーに状態を表示
|
||||
displayWorkflowState(currentState);
|
||||
|
||||
// 4. 次のアクションを提案
|
||||
suggestNextAction(currentState);
|
||||
|
||||
// 5. ユーザーの承認を待つ
|
||||
// "yes" の場合、次のコマンドを自動実行
|
||||
|
||||
// 6. SlashCommand ツールで次のコマンドを実行
|
||||
if (userApproved) {
|
||||
executeCommand(currentState.nextCommand);
|
||||
}
|
||||
```
|
||||
|
||||
## エラーハンドリング
|
||||
|
||||
### タスクファイルが破損している場合
|
||||
|
||||
```
|
||||
❌ タスクファイルの読み込みに失敗しました
|
||||
|
||||
エラー: [エラーメッセージ]
|
||||
|
||||
タスクファイル (.tasks.json) を確認してください。
|
||||
```
|
||||
|
||||
### 履歴のみ存在する場合
|
||||
|
||||
```
|
||||
ℹ️ 進行中のワークフローはありません
|
||||
|
||||
最近完了した機能:
|
||||
- [機能名1] (完了日: YYYY-MM-DD)
|
||||
- [機能名2] (完了日: YYYY-MM-DD)
|
||||
|
||||
新しいワークフローを開始するには:
|
||||
/new-feature [機能の説明]
|
||||
```
|
||||
|
||||
## 注意事項
|
||||
|
||||
- **自動実行**: ユーザーが承認した場合のみ次のコマンドを実行
|
||||
- **状態確認**: 実行前に必ず現在の状態を表示
|
||||
- **依存関係**: サブタスクの依存関係も考慮する
|
||||
- **ブロック状態**: ブロックされたタスクがある場合は警告を表示
|
||||
|
||||
## 使用例
|
||||
|
||||
### 例1: ドキュメント作成で中断していた場合
|
||||
|
||||
```
|
||||
$ /resume
|
||||
|
||||
## 📋 ワークフロー状態
|
||||
|
||||
**機能**: ユーザー認証機能
|
||||
|
||||
### 現在の進捗
|
||||
- ✅ 要件整理
|
||||
- ⏳ ドキュメント作成 ← 作業中
|
||||
- ⬜ テスト作成
|
||||
- ⬜ タスク作成
|
||||
- ⬜ 実装
|
||||
|
||||
### 次のアクション
|
||||
タスク「ドキュメント作成」が作業中です。
|
||||
|
||||
このタスクを続行しますか? (yes/no)
|
||||
> yes
|
||||
|
||||
ドキュメント作成を続行します...
|
||||
[/create-docs が自動実行される]
|
||||
```
|
||||
|
||||
### 例2: すべて完了している場合
|
||||
|
||||
```
|
||||
$ /resume
|
||||
|
||||
## 📋 ワークフロー状態
|
||||
|
||||
**機能**: ユーザー認証機能
|
||||
|
||||
### 🎉 ワークフロー完了!
|
||||
|
||||
すべてのタスクが完了しました。
|
||||
|
||||
完了したタスクは履歴ファイルに保存されています。
|
||||
詳細を確認するには: /list-tasks --history
|
||||
```
|
||||
Reference in New Issue
Block a user