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.
Metadata
Release files for gptodo 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gptodo-0.1.0.tar.gz | 85.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gptodo-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 172.4 kB
Release files / gptodo-0.1.0.tar.gz
| Download URL | gptodo-0.1.0.tar.gz |
|---|---|
| Size | 85.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2cce6ad6b72669c574b7f043aa27e41098001c5701626586d84e676d95d2dbbc
|
|
BLAKE2b-256 checksum How to use checksums |
b4374d2ad0bf048f30300ad4ff5230c7e95e47f32c5ae460e4fd08985eaf17e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.4
|
Release files / gptodo-0.1.0-py3-none-any.whl
| Download URL | gptodo-0.1.0-py3-none-any.whl |
|---|---|
| Size | 87.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb4c6108795921fcd7c0deeeb8df67bea40c7815fb1187aa9a371e1f4cee3993
|
|
BLAKE2b-256 checksum How to use checksums |
9f74f9842eb35d460e966d0d973cf505ec45c1a3a40eff3ce13b048cf6db63a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.4
|
Security for gptodo 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.