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

118
commands/update-task.md Normal file
View File

@@ -0,0 +1,118 @@
---
description: タスクの状態を更新する
argument-hint: [タスクID] [新しい状態] [理由(オプション)]
---
# タスク状態の更新
指定したタスクの状態を更新します。
## 引数
$ARGUMENTS
## 想定される引数形式
```
/update-task 5 in_progress
/update-task 7 blocked データベーススキーマの確認待ち
/update-task 3 pending
```
## 状態の種類
- `pending`: 未着手
- `in_progress`: 作業中
- `completed`: 完了(`/complete-task` の使用を推奨)
- `blocked`: ブロック中(理由を記載してください)
## 処理手順
### 1. 引数のパース
引数から以下を抽出します:
- **タスクID**: 数値
- **新しい状態**: pending, in_progress, completed, blocked のいずれか
- **理由**: 状態変更の理由blocked の場合は必須)
### 2. タスクファイルの読み込み
`.tasks.json` ファイルを読み込み、指定されたIDのタスクを検索します。
### 3. バリデーション
以下をチェックします:
- タスクIDが存在するか
- 状態が有効な値か
- blocked の場合、理由が提供されているか
- 依存関係の問題がないか(依存タスクが未完了なのに in_progress にしようとしていないか)
### 4. 状態の更新
タスクの状態を更新し、以下の情報も記録します:
- `updatedAt`: 更新日時
- `blockReason`: ブロック理由blocked の場合)
- `startedAt`: 開始日時pending → in_progress の場合)
### 5. 依存関係のチェック
タスクを `completed` にする場合、このタスクに依存している他のタスクがあれば通知します。
## 出力例
### 成功時
```
✅ タスク #5 の状態を更新しました
タスク: ユーザーモデルの作成
旧状態: pending → 新状態: in_progress
開始日時: 2025-10-12 14:30
このタスクに依存しているタスク:
- #6: 認証APIエンドポイントの実装
```
### ブロック時
```
🚫 タスク #7 をブロック状態にしました
タスク: データベースマイグレーション
理由: データベーススキーマの確認待ち
推奨アクション:
1. 関係者に確認を依頼
2. 他のタスク(#5, #6を先に進める
3. 問題が解決したら `/update-task 7 pending` で再開
```
### エラー時
```
❌ タスクの更新に失敗しました
原因: タスク #99 が見つかりません
利用可能なタスクID: 1, 2, 3, 4, 5, 6, 7
タスク一覧を確認: `/list-tasks`
```
### 依存関係エラー時
```
⚠️ 依存関係の警告
タスク #6 を in_progress にしようとしていますが、
依存タスク #5 (ユーザーモデルの作成) がまだ完了していません。
推奨:
- 先に #5 を完了させる
- または依存関係を見直す
```
## 次のステップ
状態に応じて以下を提案:
- `in_progress` にした場合: 作業のヒントや関連ドキュメントを提示
- `blocked` にした場合: 代わりに取り組めるタスクを提案
- `completed` にした場合: 次のタスクを提案(`/complete-task` を推奨)