all repos — todo.txt-go @ d8ba7263c6304b601c3215defe3de99f2278e28e

CLI tool for todo.txt files written in Go

README.md (view raw)

 1# todo.txt in Go
 2
 3`todo.txt-go` is a CLI tool written in Go for [todo.txt](https://todotxt.org/).
 4It provides an interactive TUI developped with [Bubble Tea](https://github.com/charmbracelet/bubbletea/).
 5
 6![todo-txt demo](./demo.gif)
 7
 8## Install
 9
10Ensure that you have a supported version of Go properly installed and setup.
11You can find the minimum required version of Go in the [go.mod](./go.mod) file.
12
13You can then install the latest release globally by running:
14
15```bash
16go install 5ika.ch/todo-txt.git@latest
17```
18
19`todo-txt` is now available in your CLI.
20
21## Config
22
23Tasks are stored in a `todo.txt` file in the `TODO_DIR` directory.
24By default, the `TODO_DIR` is `$HOME/.todo` but you can change it
25with two ways:
26
27- By setting `TODO_DIR` environment variable
28
29```bash
30export TODO_DIR=~/tasks
31todo-txt
32```
33
34- By using `-dir` flag
35
36```bash
37todo-txt -dir ~/tasks
38```
39
40## Keymaps
41
42- `A` or `+`: Add a new task
43- `Enter`: Edit focused task
44- `Space`: Check/Uncheck focused task
45- `a`, `b`, `c`: Set priority level for focused task
46- `z`: Clear priority of focused task
47- `p`: Sort task by priority
48- `s`: Sort task by date
49- `u`: Clear done tasks (move theme to *done.txt*)
50
51## Features
52
53`todo-txt` is a TUI to manage todo list with [todo-txt format rules](https://github.com/todotxt/todo.txt)
54stored in a plain text file.
55
56### Due date
57Additionnaly, it handles due dates as a [custom *key:value* metadata](https://github.com/todotxt/todo.txt?tab=readme-ov-file#additional-file-format-definitions).
58Example:
59
60```
61(B) Review pull request #123 @work +code due:2025-09-05
62```
63
64### Clear tasks history
65
66Done tasks are archived to *done.txt* file when `u` is entered.
67
68## TODO
69
70- [x] Use _todo.txt_ file targeted by todo-txt.sh config
71- [x] Implement archive mecanism
72- [x] Allow task edition
73- [x] Allow to remove priority on task
74- [x] Circular navigation on tasks
75- [x] Provide config file with argument
76
77## Ressources
78
79- <https://github.com/charmbracelet/bubbletea>
80- <https://github.com/1set/todotxt/blob/master/task.go>
81- <https://github.com/todotxt/todo.txt>
82- <https://github.com/freitass/todo.txt-vim>