| Crates.io | cli-todo |
| lib.rs | cli-todo |
| version | 0.6.0 |
| created_at | 2024-03-17 06:10:47.52583+00 |
| updated_at | 2025-12-31 12:06:50.798249+00 |
| description | A TODO app for your terminal |
| homepage | |
| repository | https://github.com/MDSADABWASIM/cli-todo |
| max_upload_size | |
| id | 1176250 |
| size | 34,294 |
A blazingly fast Rust TUI todo app with Vim keybindings for terminal purists. An experimental playground for Immediate Mode rendering—where every keystroke triggers a full UI rebuild, no state diffing required.
If you have Rust installed, you can install todo directly from crates.io:
$ cargo install cli-todo
$ ./install.sh
Or manually with cargo:
$ cargo install --path .
Once installed, you can run the application using the todo command:
$ todo
To see the list of controls, you can use the --help flag:
$ todo --help
| Keys | Description |
|---|---|
| k, j | Move cursor up and down |
| h, l | Switch between TODO (left) and DONE (right) panels |
| g, G | Jump to the start/end of the current item list |
| TAB | Switch between the TODO and DONE panels |
| Keys | Description |
|---|---|
| K, J | Drag the current item up and down |
| i | Insert a new item at cursor position |
| o | Insert a new item below cursor (vim style) |
| O | Insert a new item above cursor (vim style) |
| r | Rename the current item |
| c | Change item (clear and enter insert mode) |
| C | Change entire line (clear and enter insert mode) |
| d, x | Delete the current list item |
| Enter | Move item between TODO and DONE |
| Keys | Description |
|---|---|
| ESC | Exit insert/rename mode (back to normal mode) |
| Enter | Confirm edit and exit insert mode |
| q | Quit the application |
Made with :heart: and Rust