Lightweight TODO tracker for agent engineers across repos.
- TimeBox model with explicit recoverable BoxState state machine - Store layer: time_boxes schema, CRUD, active-box recovery - BoxController: start/pause/resume/interrupt/complete/expire with elapsed math - CLI group (start/status/pause/resume/interrupt/complete/abandon/recover/list/focus) - Live ADHD-friendly focus REPL with single-key commands, calm UX, no-shame quit - Interruptions logged with timestamp + reason for pattern recognition - Non-interactive helpers + auto-resume on entry - 65 tests green, strict vertical RED-GREEN TDD |
||
|---|---|---|
| agent_todos | ||
| tests | ||
| .gitignore | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
Agent TODO Tracker
Lightweight TODO CLI for agent engineers across repos.
Install
pip install -e .
Usage
# Initialize DB
agent-todo init
# Create a TODO
agent-todo create -t "Implement auth" -p high -r stackchain/stackchain-hackathon
# List open TODOs
agent-todo list
# Update status
agent-todo update 1 -s in_progress
# Resolve
agent-todo close 1
# JSON output
agent-todo list --json
Time-boxing (issue #16)
Calm, ADHD-friendly focus sessions with explicit state, interruptions you can resume from, and a live focus loop.
# Start a 25-minute focus box (default)
agent-todo box start
# Custom duration (0.5–240 min)
agent-todo box start 10
# Link a box to a TODO
agent-todo box start 15 --todo 3
# Enter the live focus REPL (auto-starts or auto-resumes)
agent-todo box focus
# Non-interactive helpers
agent-todo box status
agent-todo box pause
agent-todo box resume
agent-todo box interrupt "meeting popped up"
agent-todo box complete --reason "made progress"
agent-todo box abandon --reason "tired"
agent-todo box recover # after a restart / crash
agent-todo box list
agent-todo box list --all
Inside box focus, single keys drive the loop: p pause · r resume ·
i <why> interrupt · c complete · q quit · h help · Enter refresh.
There's no judgment for quitting — your time is saved.
Interruptions are recoverable
Pause, interrupt, or even close the terminal — box recover or box focus
resumes from where you left off. Interruptions are logged with a timestamp and
a reason so you can notice patterns later, without being shamed.
Storage
Default: .agent_todos.db in current directory.