A lightweight project todo list shared by humans and coding agents.
Todo keeps a compact action queue at the root of each project. Its four commands share one expression syntax for adding, finding, editing, and deleting tasks.
$ todo add Prepare for deployment +production +now
1 Prepare for deployment +now +production
$ todo edit 1 -now +done
1 Prepare for deployment +done +production
$ todo list +done -blocked
1 Prepare for deployment +done +productionRun todo help for the complete syntax and copy-ready examples.
With eget:
eget dannyben/todoOr install from source:
go install github.com/dannyben/todo@latestPrebuilt archives for macOS and Linux are available on the repository's Releases page.
- Obsessively simple. Four commands, no flags. Tasks fit on one line. Connect related tasks instead of writing stories or comment threads.
- Agent-friendly. No skill or MCP server is required. Compact, searchable
output saves tokens.
todo helpexplains every command. - Ephemeral by design. The task list is an action queue, not a historical record. Deleted tasks leave the queue; optional backups allow manual recovery.
- SQLite by choice. The non-textual database discourages manual edits and accidental commits. Use the CLI as the shared interface.
- Your conventions. Todo defines no priorities or workflow. Choose tags such
as
+high,+low,+p1,+now, and+done, then teach your agent the same vocabulary.
todo add TEXT...
todo list FILTER...
todo edit ID [TEXT...]
todo del FILTER...
todo help
Add tasks with plain text and optional tags
Add tasks in bulk from a file.
Edit task text, tags, or both directly from the command line.
Run todo edit ID without text to edit the complete task interactively.
Filter by text, ID, or tag, with AND, OR, and exclusions
Delete by ID or tag, with OR for multiple filters
For issues, questions, suggestions, or contributions, open an issue.





