Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


license Language version Build Status

A todo list for the terminal.

This is a simple todo list tool that integrates in your terminal workflow.
Featuring multiple todo lists and exporting your list to Markdown, it aims to be a well-structured assistant in your daily routine when you don't feel like leaving the terminal.

tdo usage


Install with cargo:

cargo install tdo

For a manual installation, clone this repository or download the latest release and run:

cd in/your/directory
cargo build --release
# copy to /usr/local/
cp ./target/release/tdo /usr/local/bin/
# or symlink it
ln -s /<path/to/repo>/target/release/tdo /usr/local/bin/tdo


Notice: If you have todos or listnames with spaces do not forget to escape them or put the whole string in ''.

For a list of all available commands please see tdo help, this is just an overview to demonstrate what you can do with tdo.

Simple todos

To add a todo, simply type tdo add 'todo goes here'. If your todo consists of just one word, you can leave out the quotes.

However, if you want to add the todo to a list (for lists, see below), type tdo add 'todo' listname. Note that you can type the listname in lowercase letters, tdo will still find your list.

Multiple Lists

tdo features working with multiple lists. Add a new list with tdo newlist listname (remember to use quotation marks for a listname containing spaces!).

To remove it again, use tdo remove listname. You will be prompted to confirm the deletion to avoid accidents.

Export your todos

If you feel like exporting your todos (e.g. for printing a checklist), you can do that with tdo export filename. All your todo lists will be exported into Markdown. You can decide if you want to include tasks that were marked as 'done' or not.

Future features

  • Different themes
  • Server sync


This work is published under the MIT License.


A Rust implementation of tdo, a todo list tool for the terminal.




No packages published