There are likely thousands of TODO list "applications" and "systems" out there, however, I think we've forgotten the most simple and elegent solution:
In your .bashrc or .zshrc:
Then just maintain a file in your home directory called .TODO with all the things you need to do.
Every time you launch a new shell you'll be reminded of what you need to do. Do you really need another piece of software to "manage" your TODO list?