Project

tasku

0.0
The project is in a healthy, maintained state
Tasku is a terminal-based task manager with colour-coded priorities, status tracking, SQLite persistence, and a beautiful CLI interface.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 0.8
~> 5.0
~> 1.6
~> 1.3
~> 0.23
 Project Readme

Tasku

タスクリスト — a beautiful terminal task manager.

Colour-coded priorities, status tracking, project colours, SQLite persistence, and a clean CLI interface.

Tasku List

Requirements

Ruby >= 3.1.0. Check your version:

ruby --version

If you need to install or upgrade Ruby, use rbenv or asdf:

# with rbenv
rbenv install 3.4.0
rbenv global 3.4.0

# with asdf
asdf install ruby 3.4.0
asdf global ruby 3.4.0

Installation

gem install tasku

Usage

Run tasku with no arguments to see the full command list:

tasku
tasku add              Create a new task
tasku list             List all tasks
tasku show ID          Show task details
tasku edit ID          Edit a task
tasku done ID          Mark a task as done
tasku delete ID        Delete a task
tasku stats            Show task statistics
tasku projects         List all projects
tasku categories       List all categories
tasku colour           Set a project colour
tasku config           Manage user preferences
tasku version          Show version

Adding a task

tasku add --name "Write docs" --priority high --due 2026-07-15

Or use interactive mode:

tasku add -i

Listing tasks

tasku list                          # all tasks
tasku list --status todo            # filter by status
tasku list --priority high          # filter by priority
tasku list --project "MyApp"        # filter by project
tasku list --overdue                # overdue tasks only
tasku list --sort due --order desc  # sorted

Each row displays a colour bar made up of three segments — project, priority, and status — giving you an instant visual read on every task.

Editing a task

tasku edit 1 --name "New name" --priority urgent
tasku edit 1 --clear tags,hours

Valid values

Field Values
Priority none, low, medium, high, urgent
Status backlog, todo, in_progress, done, cancelled, archived

Project colours

Assign a hex colour to any project. The colour appears in the row bar, the project name column, and the stats view.

tasku colour "MyApp" "#4A90D9"   # set a colour
tasku colour "MyApp"             # clear the colour

Tasku Projects


Stats

tasku stats

Shows totals broken down by status, priority, and project. Projects are listed in their colour, sorted from most to fewest tasks.

Tasku Stats


User preferences

tasku config list                        # show all preferences
tasku config get list_spacing            # get a value
tasku config set list_spacing spacious   # set a value

Tasku Config

Key Values Default Description
list_spacing compact, spacious compact Row spacing in task list
bar_project on, off on Show project colour segment in bar
bar_priority on, off on Show priority colour segment in bar
bar_status on, off on Show status colour segment in bar

Preferences are saved to ~/.tasku/config.json.


Raw SQL

tasku --sql "SELECT * FROM tasks WHERE priority = 'high'"

Development

git clone https://github.com/tomdringer/tasku.git
cd tasku
bundle install
ruby -Ilib exe/tasku list

To rebuild the gem locally:

gem build tasku.gemspec && gem install tasku-*.gem

License

MIT