TidyTask is a simple CLI tool for managing your to-do list, built with Go using Cobra.
TidyTask is designed for users who want a no-nonsense way to manage their tasks from the terminal
- Fast: Instant access to tasks, no logins or loading screens.
- Minimal: Shows only the information you need, no distractions.
- Concise: Short, intuitive commands and powerful flags.
- Offline: Fully local, no internet or accounts required.
TidyTask is available on the Arch User Repository.
-
Download using an AUR helper such as
paru
oryay
paru -S tidytask
yay -S tidytask
-
Run the install script
curl -sSL https://raw.githubusercontent.com/tm-craggs/tidytask/main/install.sh | bash
Note: These installation methods are recommended for Linux. However, the Homebrew (macOS) or Build From Source options below also work well.
The easiest way to install TidyTask on Mac is to use Homebrew
-
Install Homebrew
-
Add the tap
brew tap tm-craggs/tidytask https://github.com/tm-craggs/homebrew-tidytask.git
-
Install TidyTask
brew install tm-craggs/tidytask/tidytask
If you would rather build from source, follow these instructions.
-
Ensure
go
is installed via your distributions package manager. -
Download source code archive
wget https://github.com/tm-craggs/tidytask/archive/refs/tags/v1.0.1.tar.gz
-
Extract, Build and Install
tar -xzf v1.0.1.tar.gz cd tidytask-1.0.1 go build -o tidytask chmod +x tidytask sudo mv tidytask /usr/local/bin
-
Optional: Clean up source files
cd .. rm -rf tidytask-1.0.1 rm v1.0.1.tar.gz
Once installed, you can start using TidyTask directly from your terminal.
To add a task run:
tidytask add "First Task"
Tasks can be given a due date using --due:
tidytask add "Finish Homework" --due 2025-06-01
Tasks can also be marked as high priority using --priority:
tidytask add "Submit Essay" --due 2025-06-25 --priority
To view your to-do list use:
tidytask list
You can use flags to just view certain types of task:
tidytask list --priority
These commands are formatted the same way the same way.
complete
→ Marks a task as completeremove
→ Removes a task from to-do listreopen
→ Marks completed tasks as incomplete
To complete task numbers 1, 2 and 3:
tidytask complete 1 2 3
These commands support batch operations through the --all flag:
tidytask remove --all
The --all flag can be used with constrictions to target specific types of task
tidytask reopen --all --priority
The search command displays all tasks that match a certain keyword. By default, it searches all fields.
tidytask search "homework"
You can specify with flags which fields to search. For example, this is a search for tasks with the number 2025 in their due date:
tidytask search 2025 --due
Like with list, you can use flags just view certain types of task. For example, this is a search for all priority tasks with essay in the title:
tidytask search essay --title --complete
To reverse the previous action, run:
tidytask undo
To reset all TidyTask data, run:
tidytask reset
You can view all commands and general information, use:
tidytask --help
To view the help page for a specific command use:
tidytask [command] --help
Contributions are encouraged! See Wishlist for some ideas. I will respond to pull requests and issues as soon as possible.
- Add support for a configuration file so that users can control the colour scheme and column layout.
- Add a basic Terminal User Interface, designed to enhance navigation without interfering with users who prefer the core command line.
- Implement an action log table and multi-level undo
TidyTask may be a simple tool but I've put a lot of time and love into building it, if you find it helpful I'm so glad!
I’m a student building free and open source tools for fun. If you would like to support my work, you can do so on Ko-Fi.
There is absolutely no pressure or obligation, your kind words mean just as much to me. <3