Task management and work queue generation utilities for gptme agents
Project description
gptodo
Task management and work queue generation utilities for gptme agents.
Features
- Manage tasks with YAML frontmatter metadata
- Generate work queues from task files and GitHub issues
- Prioritize tasks based on priority labels and assignments
- Task locking for multi-agent coordination
- Support for multiple task sources (local files, GitHub)
- Configurable workspace structure
Installation
Standalone (Recommended)
Install as a CLI tool:
# Using uv (recommended)
uv tool install git+https://github.com/gptme/gptme-contrib#subdirectory=packages/gptodo
# Using pipx
pipx install git+https://github.com/gptme/gptme-contrib#subdirectory=packages/gptodo
From gptme-contrib workspace
# Install with workspace
uv sync
# Or install package directly
uv pip install -e packages/gptodo
Usage
Task Management CLI
# View task status
gptodo status
gptodo status --compact
# Show specific task
gptodo show <task-id>
# Edit task metadata
gptodo edit <task-id> --set state active
gptodo edit <task-id> --set priority high
gptodo edit <task-id> --add tag feature
# Validate tasks
gptodo validate
# List tasks with filters
gptodo list --priority high
gptodo list --state active
Generate Work Queue
# Basic usage (current directory as workspace)
gptodo generate-queue
# Specify workspace path
gptodo generate-queue --workspace ~/my-agent
# Specify GitHub username for assignee filtering
gptodo generate-queue --github-username YourUsername
Task Locking (Multi-Agent)
# Acquire lock on a task
gptodo lock acquire <task-id>
# Release lock
gptodo lock release <task-id>
# Check lock status
gptodo lock status <task-id>
Output
Generates state/queue-generated.md with:
- Current Run: Summary from latest journal entry
- Planned Next: Top 5 prioritized tasks
- Last Updated: Timestamp
Task Sources
-
Local Task Files (
tasks/*.md):- Filter: priority=high/urgent AND state=new/active
- Uses frontmatter metadata
-
GitHub Issues:
- Filter: label=priority:high/urgent AND state=open
- Boosts score if assigned to configured username
Configuration
Via command-line arguments or environment variables:
TASKS_REPO_ROOT/--workspace: Agent workspace pathGITHUB_USERNAME/--github-username: GitHub username for filtering--journal-dir: Journal directory name (default: journal)--tasks-dir: Tasks directory name (default: tasks)--state-dir: State directory name (default: state)
Task Format
Task files should use frontmatter metadata:
---
state: active # new, active, paused, done, cancelled, someday
priority: high # low, medium, high
task_type: project # project (multi-step) or action (single-step)
assigned_to: bob # agent name
tags: [ai, dev] # categorization tags
---
# Task Title
Task description...
## Subtasks
- [ ] First subtask
- [x] Completed subtask
GitHub Integration
Requires GitHub CLI (gh) installed and authenticated:
gh auth login
Priority labels:
priority:urgent- Highest prioritypriority:high- High prioritypriority:medium- Medium priority (not included in queue)priority:low- Low priority (not included in queue)
Development
Running Tests
cd packages/gptodo
make test
Type Checking
cd packages/gptodo
make typecheck
Migration from tasks
If you were using scripts/tasks.py, the wrapper script will continue to work
but will show a deprecation warning. To migrate:
- Install gptodo directly:
uv tool install git+... - Replace
./scripts/tasks.pycalls withgptodo - All commands remain the same
Integration
This package is designed to work with:
- gptme autonomous runs
- GitHub issue tracking
- Agent workspace structures
For full autonomous agent setup, see gptme-agent-template.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gptodo-0.1.0.tar.gz.
File metadata
- Download URL: gptodo-0.1.0.tar.gz
- Upload date:
- Size: 85.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cce6ad6b72669c574b7f043aa27e41098001c5701626586d84e676d95d2dbbc
|
|
| MD5 |
a65ac7ca6ae580850975691ec3f25bc4
|
|
| BLAKE2b-256 |
b4374d2ad0bf048f30300ad4ff5230c7e95e47f32c5ae460e4fd08985eaf17e3
|
File details
Details for the file gptodo-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gptodo-0.1.0-py3-none-any.whl
- Upload date:
- Size: 87.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb4c6108795921fcd7c0deeeb8df67bea40c7815fb1187aa9a371e1f4cee3993
|
|
| MD5 |
b117257fda2e33e2a5ad0e1db96aac0b
|
|
| BLAKE2b-256 |
9f74f9842eb35d460e966d0d973cf505ec45c1a3a40eff3ce13b048cf6db63a8
|