Files
2025-11-29 17:52:09 +08:00

6.7 KiB
Raw Permalink Blame History

description
description
中断されたワークフローを再開する

ワークフローの再開

中断された機能開発ワークフローを再開します。

あなたの役割

.tasks.json ファイルを読み込み、現在のワークフロー状態を分析して、適切な次のステップを実行してください。

ステップ1: タスクファイルの確認

まず、.tasks.json ファイルが存在するか確認します:

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")の状態を確認し、次に実行すべきタスクを特定します:

// ワークフロータスクを取得
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

実装フロー

// 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