Skip to main content

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

  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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gptodo-0.1.0.tar.gz (85.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gptodo-0.1.0-py3-none-any.whl (87.4 kB view details)

Uploaded Python 3

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

Hashes for gptodo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2cce6ad6b72669c574b7f043aa27e41098001c5701626586d84e676d95d2dbbc
MD5 a65ac7ca6ae580850975691ec3f25bc4
BLAKE2b-256 b4374d2ad0bf048f30300ad4ff5230c7e95e47f32c5ae460e4fd08985eaf17e3

See more details on using hashes here.

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

Hashes for gptodo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb4c6108795921fcd7c0deeeb8df67bea40c7815fb1187aa9a371e1f4cee3993
MD5 b117257fda2e33e2a5ad0e1db96aac0b
BLAKE2b-256 9f74f9842eb35d460e966d0d973cf505ec45c1a3a40eff3ce13b048cf6db63a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page