Skip to main content
Glama
PRD.md8.17 kB
# TaskMateAI - PRD (製品要件定義書) ## 概要 TaskMateAIは、AIがModel Context Protocol (MCP)を通じて操作できるタスク管理アプリケーションです。AIは優先順位の高いタスクから順に処理し、進捗を報告し、完了させることができます。複数のエージェントと複数のプロジェクトをサポートし、階層的なタスク管理を実現します。 ## 目的 本アプリケーションの目的は、以下の通りです: 1. AIがタスク管理を自律的に行うためのインターフェースを提供する 2. ユーザーが定義したタスクをAIが優先順位に基づいて処理できるようにする 3. タスクの進捗状況を追跡・報告できるようにする 4. 複数のエージェントとプロジェクトによる階層的なタスク管理を可能にする 5. シンプルかつ拡張可能なアーキテクチャを提供する 6. MCP (Model Context Protocol)を通じた操作を可能にする ## ユーザー 主なユーザーは以下の2つです: 1. **エンドユーザー(人間)**: タスクを定義し、AIに処理させる人 2. **AI**: MCPを通じてタスクを取得し、処理を行い、進捗を報告するエージェント ## 機能要件 ### 必須機能 1. **タスク管理** - タスクの作成、取得、更新、削除 - タスクに優先順位を設定 - タスクの状態(todo、in_progress、done)を管理 2. **サブタスク管理** - タスクにサブタスクを追加、更新 - サブタスクの状態管理 3. **優先順位ベースのタスク取得** - AIが次に処理すべき最も優先度の高いタスクを取得 4. **進捗報告** - AIがタスクの進捗状況を報告 - タスクを完了としてマーク 5. **ノート機能** - タスクに関連するノート(メモ)を追加 6. **エージェント管理** - 複数のエージェントID別にタスクを分離 - エージェント一覧の取得 7. **プロジェクト管理** - エージェント内で複数のプロジェクトを管理 - プロジェクト一覧の取得 ### オプション機能(将来拡張可能) 1. タスク間の依存関係の管理 2. スケジュール機能 3. タグによる分類 4. マイルストーン機能 5. タスクテンプレート機能 ## 非機能要件 1. **パフォーマンス** - 個人用アプリケーションのため、高度なパフォーマンス最適化は不要 2. **セキュリティ** - 個人用アプリケーションのため、認証機能は不要 3. **データ永続化** - JSONファイルによるシンプルなデータ保存 - エージェントおよびプロジェクトごとのファイル分離 4. **プラットフォーム** - Python 3.12以上の環境で動作すること - uvパッケージマネージャーをサポート - WSL環境での動作をサポート 5. **テスト** - すべての主要機能に対するユニットテストを提供 - ユーザー操作フローをカバーする統合テスト - 自動化されたテスト実行環境(pytest) - 95%以上のコードカバレッジを目標 ## 技術仕様 ### バックエンド - **言語**: Python 3.12+ - **データストレージ**: JSONファイル - **通信プロトコル**: MCP (Model Context Protocol) ### 依存パッケージ - python-dotenv - pydantic - mcp-server - typing-extensions ## インターフェース ### MCP ツール 1. **タスク管理** - `get_tasks` - タスクリストを取得(ステータスや優先度でフィルタリング可能) - `create_task` - 新しいタスクを作成(サブタスク付き) - `complete_task` - タスクを完了としてマーク 2. **サブタスク管理** - `add_subtask` - 既存タスクにサブタスクを追加 - `update_subtask` - サブタスクのステータスを更新 3. **AI用特殊ツール** - `get_next_task` - 優先度の高い次のタスクを取得 - `update_progress` - タスクの進捗を更新 4. **ノート管理** - `add_note` - タスクにノートを追加 5. **エージェント・プロジェクト管理** - `list_agents` - 利用可能なエージェントIDの一覧を取得 - `list_projects` - 特定のエージェントに関連するプロジェクトの一覧を取得 ## データ構造 ``` { "id": 1, "title": "タスクのタイトル", "description": "タスクの詳細な説明", "priority": 3, "status": "todo", // "todo", "in_progress", "done" のいずれか "progress": 0, // 0-100 の進捗率 "subtasks": [ { "id": 1, "description": "サブタスクの説明", "status": "todo" // "todo", "in_progress", "done" のいずれか } ], "notes": [ { "id": 1, "content": "ノートの内容", "timestamp": "2025-02-28T09:22:53.532808" } ] } ``` ## ディレクトリ構造 タスクデータは以下の階層で保存されます: ``` output/ ├── tasks.json # デフォルトのタスクファイル ├── agent1/ │ ├── tasks.json # agent1のタスクファイル │ ├── project1/ │ │ └── tasks.json # agent1のproject1のタスクファイル │ └── project2/ │ └── tasks.json # agent1のproject2のタスクファイル └── agent2/ ├── tasks.json # agent2のタスクファイル └── projectA/ └── tasks.json # agent2のprojectAのタスクファイル ``` ## 制約事項 - 個人用アプリケーションを想定 - 認証機能は実装しない - 高度なスケーラビリティは考慮しない ## 成功基準 - AIがMCPを通じてタスクを自律的に取得、処理、完了できること - タスクの優先順位が正しく反映されること - サブタスクとノートが適切に管理されること - データが正しく永続化されること - 複数のエージェントとプロジェクトでタスクを適切に分離管理できること ## 修正予定項目 - タスクテンプレート機能の実装 - タスク間の依存関係管理システムの構築 - スケジュール機能の追加 - タグによるタスク分類システムの導入 - マイルストーン管理機能の実装 ## テスト戦略 TaskMateAIでは、以下のテスト戦略を採用しています: ### テスト階層 1. **ユニットテスト** - 個別の関数やメソッドの機能を検証 - 外部依存をモックやスタブに置き換えて分離 - 境界条件とエッジケースをカバー 2. **統合テスト** - コンポーネント間の連携を検証 - データフローの正確性を確認 - 主要なユースケースに焦点 ### テスト実装 - **自動テスト**: pytestフレームワークを使用 - **テストフィクスチャ**: 再利用可能なテスト環境の構築 - **パラメトリックテスト**: 複数のデータセットに対する効率的なテスト ### テスト対象領域 1. **タスク管理基本機能** - タスクの読み書き操作 - ID生成ロジック - ファイルパス生成 2. **MCPツール機能** - ツール呼び出しインターフェース - 各ツールの処理ロジック - エラー処理とエッジケース 3. **エージェントとプロジェクト管理** - 階層的なファイル構造の処理 - エージェントとプロジェクトの参照機能 - URIパースとリソース管理 ### 継続的な改善 テスト戦略は、アプリケーションの成長とともに継続的に進化し、新機能のサポートと既存機能の堅牢性確保を目指します。

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NewAITees/TaskMateAI'

If you have feedback or need assistance with the MCP directory API, please join our Discord server