Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 17:52:09 +08:00
commit 863b553c2a
20 changed files with 4544 additions and 0 deletions

265
commands/resume.md Normal file
View 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
```