con un clic
todo-tracker
// Production-ready TODO management with dual-source support (GitHub Issues + flat files), due dates, labels, and automatic reminders. Fully portable with environment variable configuration.
// Production-ready TODO management with dual-source support (GitHub Issues + flat files), due dates, labels, and automatic reminders. Fully portable with environment variable configuration.
| name | todo-tracker |
| description | Production-ready TODO management with dual-source support (GitHub Issues + flat files), due dates, labels, and automatic reminders. Fully portable with environment variable configuration. |
A comprehensive TODO management system with dual-source support — reads from GitHub Issues (primary) and flat files (fallback). Includes markdown-based storage, due dates, labels, and automatic reminders.
leprachuan/fosterbot-home with labels & metadataAll paths and settings are configurable via environment variables:
export TODO_FILE="/path/to/TODOs.md"
export TODO_STATE_FILE="~/.todo-reminder-state.json"
export TODO_REMINDER_CHANNEL="telegram" # or "webex"
export TELEGRAM_CONFIG_PATHS="/path/to/config.json"
export TELEGRAM_SKILL_PATH="/opt/skills/telegram-notify"
See README.md for complete configuration options.
Every TODO is automatically assigned a unique short ID in the format Txxxx (e.g. Tktbj).
All commands accept either the ID or the full description.
# These are equivalent:
python3 copilot/todo_cli.py note Tktbj "Checked Amazon"
python3 copilot/todo_cli.py note "Get a label maker" "Checked Amazon"
To backfill IDs onto existing TODOs that don't have one:
python3 copilot/todo_cli.py backfill-ids
python3 copilot/todo_cli.py add "Buy milk" --due 03/15/2026 --labels SHOPPING
# Dual-source (GitHub + flat files, deduplicated)
python3 copilot/todo_cli.py list active
# GitHub Issues only
python3 copilot/todo_cli.py list active --source github
# Flat files only
python3 copilot/todo_cli.py list active --source flat
# Standalone dual-source provider
python3 github_todo_provider.py summary
python3 github_todo_provider.py list
python3 github_todo_provider.py github-only
python3 github_todo_provider.py flat-only
python3 github_todo_provider.py create --title "New task" --due "2026-05-01" --labels "home,todo"
python3 copilot/todo_cli.py complete "Buy milk"
python3 copilot/todo_cli.py note "Buy milk" "Checked store — out of stock, trying Costco tomorrow"
python3 copilot/todo_cli.py upcoming
python3 copilot/todo_cli.py overdue
python3 todo_reminder.py
When working on a TODO, always record progress into its notes. This creates a timestamped activity log inside the TODO file so anyone (human or agent) can see what was done, what's pending, and what decisions were made.
# CLI
python3 /opt/pot-o-skills/todo-tracker/copilot/todo_cli.py note "Task name" "Started investigating the root cause"
python3 /opt/pot-o-skills/todo-tracker/copilot/todo_cli.py note "Task name" "Fixed — updated config in /etc/foo.conf"
# Python (from agent code)
from todo_manager import TodoManager
manager = TodoManager()
manager.append_note("Task name", "Deployed fix to dev, awaiting QA")
Notes are appended with a timestamp, so the file builds up a log:
ID: Ta3f7
DUE: 2026-04-01 10:00
LABELS: {HOME_LAB}
[2026-03-31 14:22] Started investigating DNS resolution failures
[2026-03-31 14:35] Root cause: stale /etc/resolv.conf after DHCP renewal
[2026-03-31 14:40] Fixed — pointed to local DNS server 192.168.0.1
Python-based implementation with full TODO management capabilities.
Python CLI tool for terminal-based TODO management.
JavaScript implementation for web-based TODO interfaces.
leprachuan/fosterbot-home)TODOs are stored as GitHub Issues labelled todo. Additional labels (financial, health, home, tech, synced-from-reminders) categorize them. Due dates are embedded in the issue body.
# Set custom repo
export TODO_GITHUB_REPO="leprachuan/fosterbot-home"
TODOs are stored as individual files in ACTIVE/ and COMPLETED/ directories:
/opt/fosterbot-home/TODOs/
├── ACTIVE/
│ ├── 🐛 Investigate Claude session ID handling for 404 errors
│ ├── 📏 Measure all rooms
│ ├── 💰 Taxes due end of March
│ └── 🎒 Purchase Italy Travel Gear
└── COMPLETED/
├── ✅ Auto-Runtime
├── ✅ Proactive Watchers - Poll to trigger AI
└── ✅ TODO Channel Updates
Format:
ID: Txxxx (unique short ID)Reminders fire at these times:
Each reminder fires only ONCE per TODO to prevent spam. Snooze feature allows temporarily disabling reminders.
pyyaml - YAML parsingpython-dateutil - Date/time utilitiestelegram-notify skill (for Telegram reminders)webex-notify skill (for WebEx reminders)MIT