A minimal terminal todo manager.
Designed for keyboard-driven workflows with a focus on simplicity and low overhead.
Install from crates.io:
cargo install tododoRun:
todotodoInside TUI:
a— create todospace— toggle completione— edit noteq— quit
- Create, update, and delete todos
- Mark todos as done / undone
- Priority levels
- Inline note editing
- Fully keyboard-driven interaction
- SQLite-based persistence (no external dependencies)
- CLI and TUI modes
- JSON import / export support
todo -l # list todos
todo add "title" # add todo
todo add "title" -c note # add with note
todo add "title" -p S # add with priority
todo done 1 # mark as done
todo delete 1 # delete
todo comment 1 "note" # update note
todo json # export JSON
cat file.json | todo -i # import JSON| Key | Description |
|---|---|
j / k |
Move selection |
↑ / ↓ |
Move selection |
Enter |
Enter / back |
| Key | Description |
|---|---|
a |
Create todo |
space |
Toggle completion |
p |
Cycle priority |
e |
Edit note |
d |
Delete todo |
y |
Confirm delete |
n |
Cancel delete |
| Key | Description |
|---|---|
Ctrl+s |
Save |
Esc |
Cancel / back |
| Key | Description |
|---|---|
q |
Quit |
Ctrl+c |
Force quit |
In delete confirmation, q cancels the modal.
- Path:
.todo/todo.db - Database: SQLite
Completed todos older than 30 days are hidden by default.
- Local-only (no sync)
- No tagging or grouping
- No configuration system
MIT
