Add a task in one line
Type a title with a few markers and tudo fills in the rest. Markers light up as you type, so you can see what will be set before you press Return.
tudo is a to-do list and markdown notebook that runs in your terminal. You drive it from the keyboard, it keeps everything in plain files on your disk, and it never asks for an account.
Prebuilt for macOS and Linux. Free and open source under the MIT License.
What it does
tudo opens in any terminal window. Lists, tags and notes are a keypress away, and the mouse works too.
Type a title with a few markers and tudo fills in the rest. Markers light up as you type, so you can see what will be set before you press Return.
Vim keys and arrow keys both work, and every binding can be changed in the config file. Press ? in the app for the full list.
Pick a tag to see every task that carries it, from all your lists, in one view.
Write notes in markdown, link them with [[double brackets]], and see which notes link back.
Tokyo Night, Catppuccin, Dracula, Nord, Gruvbox and more. Or choose Terminal and keep your own colours.
No account, no sync service and no analytics. tudo reads and writes files on your own disk.
Each list is a JSON file and each note is a .md file. Writes are atomic, so a crash can't corrupt them.
tudo is written in Rust. Install it with a one-line script, Homebrew or Cargo.
Open source
Every feature, on every machine you use.
curl -fsSL https://raw.githubusercontent.com/jolleydesign/tudo/main/install.sh | shInstalls the latest release to ~/.local/bin. Run it again to update.
The first time, it asks where to keep your data and creates a starter list called Tasks.
The help overlay lists every key for the tab you're on, including any you've changed.
Questions
There are prebuilt binaries for macOS (Apple Silicon and Intel) and Linux (x86_64 and ARM64). Anywhere else, you can build it from source with Cargo and Rust 1.95 or later.
In the folder you pick the first time you run tudo. Each list is a JSON file and each note is a markdown file in a notes/ folder, one folder per notebook. To move them, press S then d and type a new path.
Not on its own. Everything is plain text, so you can keep the data folder in a git repo, or point TUDO_DIR at a different folder for each project.
Yes. Your config.json has a keybindings block with every action in it. Edit the keys you want and restart tudo. The help overlay always shows your current bindings.
Pick the Terminal theme and tudo uses your terminal's 16 colours and background. The other eleven themes use their own colours, so they look the same in any terminal.
Run the install script again, or use brew upgrade tudo or cargo install tudo-tui. Check your version with tudo --version.
The name tudo was already taken on crates.io. The command you run is still tudo.
Open an issue or a pull request on GitHub. If tudo saves you time, you can also buy me a coffee.
Free and open source. macOS and Linux.