--- Title: todo.txt-go --- **todo.txt-go** is a TUI program for [todo.txt](http://todotxt.org/) written in Go. It provides a minimalistic and efficient interface in the terminal to handle todo list following [todo-txt format rules](https://github.com/todotxt/todo.txt) stored in a plain text file. ![Demo](/todo.txt-go.gif) ## Installation Ensure that you have a supported version of Go properly installed and setup. You can then install the latest release globally by running: ```bash git clone https://5ika.ch/todo.txt-go.git cd todo-txt go install ``` `todo-txt` is now available in your terminal. ## Configuration Tasks are stored in a `todo.txt` file in the `TODO_DIR` directory. By default, the `TODO_DIR` is `$HOME/.todo` but you can change it with two ways: - By setting `TODO_DIR` environment variable ```bash export TODO_DIR=~/tasks todo-txt ``` - By using `-dir` flag ```bash todo-txt -dir ~/tasks ``` ## Use ### Keymaps - `Up` or `Down`: Move cursor - `Shift+Up` or `Shift+Down`: Move focused task - `A` or `+`: Add a new task - `Enter`: Edit focused task - `Space`: Check/Uncheck focused task - `a`, `b`, `c`, `d`: Set priority level for focused task - `z`: Clear priority of focused task - `p`: Sort task by priority - `s`: Sort task by date - `u`: Clear done tasks (move them to *done.txt*) - `q`: Quit ### Due date Additionnaly, it handles due dates as a [custom *key:value* metadata](https://github.com/todotxt/todo.txt?tab=readme-ov-file#additional-file-format-definitions). Example: ``` (B) Review pull request #123 @work +code due:2025-09-05 ``` ### Clear tasks history Done tasks are archived to *done.txt* file when `u` is entered. ## Contribution Intrested by this project ? [Contact me](https://5ika.ch) Code is available here: https://git.5ika.ch/todo.txt-go.git