Skip to main content

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

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

  1. Local Task Files (tasks/*.md):

    • Filter: priority=high/urgent AND state=new/active
    • Uses frontmatter metadata
  2. 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 path
  • GITHUB_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 priority
  • priority:high - High priority
  • priority: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:

  1. Install gptodo directly: uv tool install git+...
  2. Replace ./scripts/tasks.py calls with gptodo
  3. 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)

Source distribution for gptodo 0.1.0
File Size Uploaded Provenance
gptodo-0.1.0.tar.gz 85.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for gptodo 0.1.0
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page