all repos — todo.txt-go @ 935dbed84d9005c5192cd30f7eafcc1bd9e32cd2

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](https://vhs.charm.sh/vhs-3ivd1Kjd1okl3oVnh6Gflz.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
16git clone https://5ika.ch/todo.txt-go.git
17cd todo-txt
18go install
19```
20
21`todo-txt` is now available in your CLI.
22
23## Config
24
25Tasks are stored in a `todo.txt` file in the `TODO_DIR` directory.
26By default, the `TODO_DIR` is `$HOME/.todo` but you can change it
27with two ways:
28
29- By setting `TODO_DIR` environment variable
30
31```bash
32export TODO_DIR=~/tasks
33todo-txt
34```
35
36- By using `-dir` flag
37
38```bash
39todo-txt -dir ~/tasks
40```
41
42## Keymaps
43
44- `A` or `+`: Add a new task
45- `D` or `-`: Remove focused task
46- `Enter`: Edit focused task
47- `Space`: Check/Uncheck focused task
48- `a`, `b`, `c`, `d`: Set priority level for focused task
49- `z`: Clear priority of focused task
50- `p`: Sort task by priority
51- `s`: Sort task by date
52- `u`: Clear done tasks (move them to *done.txt*)
53
54## Features
55
56`todo-txt` is a TUI to manage todo list with [todo-txt format rules](https://github.com/todotxt/todo.txt)
57stored in a plain text file.
58
59### Due date
60Additionnaly, it handles due dates as a [custom *key:value* metadata](https://github.com/todotxt/todo.txt?tab=readme-ov-file#additional-file-format-definitions).
61Example:
62
63```
64(B) Review pull request #123 @work +code due:2025-09-05
65```
66
67### Clear tasks history
68
69Done tasks are archived to *done.txt* file when `u` is entered.
70
71## Contribution
72
73Intrested by this project ? [Contact me](https://5ika.ch)
74
75## Ressources
76
77- <https://github.com/charmbracelet/bubbletea>
78- <https://github.com/1set/todotxt/blob/master/task.go>
79- <https://github.com/todotxt/todo.txt>
80- <https://github.com/freitass/todo.txt-vim>