A modern, efficient terminal-based task management application written in Go. td provides a clean and intuitive interface for managing your todo list with features like task prioritization, undo/redo operations, and data persistence.
- Terminal UI: Clean, responsive interface using Bubble Tea
- Task Prioritization: Organize tasks by priority (None, Low, Medium, High)
- Undo/Redo: Full undo/redo support for all operations
- Data Persistence: Automatic saving to JSON file
- Keyboard Shortcuts: Vim-inspired navigation
- Filtering: Filter tasks by priority level
- Cross-platform: Works on macOS, Linux, and Windows
brew tap voioo/homebrew-tap
brew install td-tuiManual Installation
# For Apple Silicon Macs:
curl -LO https://github.com/voioo/td/releases/latest/download/td_darwin_arm64.tar.gz
sudo tar xf td_darwin_arm64.tar.gz -C /usr/local/bin td
# For Intel Macs:
curl -LO https://github.com/voioo/td/releases/latest/download/td_darwin_amd64.tar.gz
sudo tar xf td_darwin_amd64.tar.gz -C /usr/local/bin tdyay -S td-tuior
paru -S td-tuior
git clone https://aur.archlinux.org/td-tui.git
cd td-tui
makepkg -sicurl -LO https://github.com/voioo/td/releases/latest/download/td_linux_amd64.tar.gz
sudo tar xf td_linux_amd64.tar.gz -C /usr/local/bin tdcurl -LO https://github.com/voioo/td/releases/latest/download/td_linux_amd64.tar.gz
sudo tar xf td_linux_amd64.tar.gz -C /usr/local/bin tdOpen PowerShell as Administrator and run:
irm https://raw.githubusercontent.com/voioo/td/main/install.ps1 | iexManual Installation
# For AMD64 systems:
Invoke-WebRequest -Uri https://github.com/voioo/td/releases/latest/download/td_windows_amd64.zip -OutFile td.zip
Expand-Archive td.zip -DestinationPath "$env:LOCALAPPDATA\Programs\td"
$env:Path += ";$env:LOCALAPPDATA\Programs\td"
# For ARM64 systems:
Invoke-WebRequest -Uri https://github.com/voioo/td/releases/latest/download/td_windows_arm64.zip -OutFile td.zip
Expand-Archive td.zip -DestinationPath "$env:LOCALAPPDATA\Programs\td"
$env:Path += ";$env:LOCALAPPDATA\Programs\td"You can also check the releases page on Github and download the one you need.
a- Add new taskd- Delete selected taskenter- Mark task as complete/incomplete→orl- Edit selected taskp- Cycle task priority1-4- Set priority directly (1=none, 2=low, 3=medium, 4=high)f- Filter tasks by priorityt- Toggle between active/completed tasks
↑ork- Move up↓orj- Move down←orh- Move left→orl- Move right (or edit task)homeorg- Go to topendorG- Go to bottom
?- Show/hide helpC- Clear all completed tasksctrl+u- Undo last actionctrl+r- Redo last actionqorctrl+c- Quit
Tasks are automatically sorted by priority (high to low) and then by creation time. The priority indicators are:
- ○ - No priority
- ● (gray) - Low priority
- ● (yellow) - Medium priority
- ● (red) - High priority
td can be configured via a JSON or YAML config file at ~/.config/td/config.json or ~/.config/td/config.yaml:
JSON format:
{
"data_file": "~/.td.json",
"theme": {
"primary_color": "#FF75B7",
"high_priority_color": "#FF0000",
"medium_priority_color": "#FFFF00",
"low_priority_color": "#00FF00"
},
"keymap": {
"add": "a",
"delete": "d",
"enter": "enter",
"quit": "q"
}
}YAML format:
data_file: ~/.td.json
theme:
primary_color: "#FF75B7"
high_priority_color: "#FF0000"
medium_priority_color: "#FFFF00"
low_priority_color: "#00FF00"
keymap:
add: "a"
delete: "d"
enter: "enter"
quit: "q"This project is a derivative of todo-cli, which is developed by Ren Ogaki (yuzuy) for the purposes of learning the Go language. The original code is licensed under the MIT License.
This project is released under the BSD Zero Clause License (0BSD). For more details, please refer to the LICENSE file.