all repos — todoxt @ main

TUI for todo.txt

README.md (view raw)

  1# todoxt
  2
  3`todo.txt-go` is a TUI written in Go and [Bubble Tea](https://github.com/charmbracelet/bubbletea/) to manage [todo.txt](https://todotxt.org/) file.
  4
  5![todoxt demo](https://vhs.charm.sh/vhs-3ivd1Kjd1okl3oVnh6Gflz.gif)
  6
  7## Install
  8
  9Ensure that you have a supported version of Go properly installed and setup.
 10You can find the minimum required version of Go in the [go.mod](./go.mod) file.
 11
 12You can then install the latest release globally by running:
 13
 14```bash
 15git clone https://5ika.ch/todoxt.git
 16cd todoxt
 17go install
 18```
 19
 20`todoxt` is now available in your CLI.
 21
 22## Config
 23
 24Tasks are stored in a `todo.txt` file in the `TODO_DIR` directory.
 25By default, the `TODO_DIR` is `$HOME/.todo` but you can change it
 26with two ways:
 27
 28- By setting `TODO_DIR` environment variable
 29
 30```bash
 31export TODO_DIR=~/tasks
 32todoxt
 33```
 34
 35- By using `-dir` flag
 36
 37```bash
 38todoxt -dir ~/tasks
 39```
 40
 41## Keymaps
 42
 43- `A` or `+`: Add a new task
 44- `D` or `-`: Remove focused task
 45- `Enter`: Edit focused task
 46- `Space`: Check/Uncheck focused task
 47- `a`, `b`, `c`, `d`: Set priority level for focused task
 48- `z`: Clear priority of focused task
 49- `p`: Sort task by priority
 50- `s`: Sort task by date
 51- `u`: Clear done tasks (move them to *done.txt*)
 52- `?`: Show full help
 53
 54## Features
 55
 56`todoxt` 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
 60
 61Additionnaly, it handles due dates as a [custom *key:value* metadata](https://github.com/todotxt/todo.txt?tab=readme-ov-file#additional-file-format-definitions).
 62Example:
 63
 64```
 65(B) Review pull request #123 @work +code due:2025-09-05
 66```
 67
 68### Reccurring task
 69
 70`todoxt` handles reccuring task with flag `freq`.
 71Example:
 72
 73```
 74(C) Update servers freq:month due:2025-09-05
 75```
 76
 77On check of this task, it will be duplicated with a new due date (`2025-10-05`).
 78If it doesn't have a due date or if due date is in the past, the next due date is calculated from today's date.
 79
 80Available frequency values are:
 81- `day`, `daily`
 82- `week`, `weekly`
 83- `month`, `monthly`
 84- `quarter`, `quarterly`
 85- `year`, `yearly`
 86
 87### Clear tasks history
 88
 89Done tasks are archived to *done.txt* file when `u` is entered.
 90
 91## Contribution
 92
 93Intrested by this project ? [Contact me](https://5ika.ch)
 94
 95## Ressources
 96
 97- <https://github.com/charmbracelet/bubbletea>
 98- <https://github.com/1set/todotxt/blob/master/task.go>
 99- <https://github.com/todotxt/todo.txt>
100- <https://github.com/freitass/todo.txt-vim>