`get_next_task` flipping the status to in-progress as a side effect is the giveaway: this expects to be called in a loop, not clicked. Splitting storage per agent and per project is what keeps two agents from colliding on the same file, and the notes field is where a run leaves an audit trail behind it. The roadmap names what is not there yet — templates, cross-task dependencies, scheduling and tagging — so plan around plain priority ordering.
A task-management server designed around an AI working through a queue autonomously. Tasks carry a priority, a status, a progress percentage, subtasks and timestamped notes, and are persisted as JSON files split by agent and by project.
- `get_next_task` — returns the highest-priority task and moves it to in-progress automatically, which is what makes an unattended loop possible
- `get_tasks` — the task list, filterable by status or priority
- `create_task` — a new task, with subtasks included at creation
- Progress reporting through `update_progress` and `complete_task`
- Subtask handling — `add_subtask` and `update_subtask`
- `add_note` — a timestamped note attached to a task, which is where an agent records what it found
- `list_agents` and `list_projects` for discovering which agent and project scopes exist
- Storage as JSON on disk, one file per agent and per project, created automatically on first run
Python 3.12 or higher and uv; on Windows the documented path runs under WSL. Installation is a clone plus `uv install -r requirements.txt`, then `uv run TaskMateAI` from the source directory. The project is `TaskMateAI` (0.1.0 in pyproject). Scope is set either per request or through `defaultArguments` in the client config, which carries `agent_id` and `project_name` on every call. Documentation is in Japanese, with an English README alongside it. MIT licensed.
Build from source — clone the repository and build it, then point your client at the binary
