Plan your day without
leaving the terminal

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.

[?] help [q] quit
New task · !! #tag @today n:note s:sub, sub
Theme
↑/↓ preview · Enter apply · Esc cancel

What it does

A to-do list you run from the keyboard.

tudo opens in any terminal window. Lists, tags and notes are a keypress away, and the mouse works too.

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.

Built for the keyboard

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.

Add a taska
Mark it doneSpace
Move through tasksjk
Reorder a taskJK
Search titles, tags and notes/

Tags across every list

Pick a tag to see every task that carries it, from all your lists, in one view.

Notes that link

Write notes in markdown, link them with [[double brackets]], and see which notes link back.

Twelve themes

Tokyo Night, Catppuccin, Dracula, Nord, Gruvbox and more. Or choose Terminal and keep your own colours.

Nothing leaves your machine

No account, no sync service and no analytics. tudo reads and writes files on your own disk.

Plain files you can read

Each list is a JSON file and each note is a .md file. Writes are atomic, so a crash can't corrupt them.

One small binary

tudo is written in Rust. Install it with a one-line script, Homebrew or Cargo.

Open source

tudo is free and open source.

$0forever

Every feature, on every machine you use.

  • MIT licensed, with the full source on GitHub
  • No account and no tracking
  • Prebuilt for macOS and Linux, on Intel and ARM
1

Install it

curl -fsSL https://raw.githubusercontent.com/jolleydesign/tudo/main/install.sh | sh

Installs the latest release to ~/.local/bin. Run it again to update.

2

Run tudo

The first time, it asks where to keep your data and creates a starter list called Tasks.

3

Press ? for help

The help overlay lists every key for the tab you're on, including any you've changed.

Questions

Questions about tudo

Which systems does tudo run on?

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.

Where are my tasks and notes saved?

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.

Does it sync between computers?

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.

Can I change the keys?

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.

Will it match my terminal's colours?

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.

How do I update?

Run the install script again, or use brew upgrade tudo or cargo install tudo-tui. Check your version with tudo --version.

Why is the crate called tudo-tui?

The name tudo was already taken on crates.io. The command you run is still tudo.

How can I report a bug or help out?

Open an issue or a pull request on GitHub. If tudo saves you time, you can also buy me a coffee.

Your day, planned in the terminal you already have open.

Free and open source. macOS and Linux.