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. Pair it with Tasku Cloud for backup, sync, and team collaboration.

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 git              Manage git repo links for auto branch checkout
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

Git auto branch checkout

Link a project code to a git repo and Tasku will automatically create and checkout a branch whenever you move a task to in_progress.

tasku git link MDO ~/Sites/mado       # link project code to a repo
tasku git unlink MDO                  # remove a link
tasku git list                        # show all links

Once linked, setting a task to in_progress via the CLI will checkout a branch named CODE-ID-name-slug:

tasku edit 42 --status in_progress
# ✓ Task #42 updated — Build login page
# git: created and switched to branch MDO-42-build-login-page

If the branch already exists (e.g. you set a task back to in_progress after pausing it), Tasku switches to it instead of creating a new one.

Branch links are saved to ~/.tasku/config.json and only apply to the CLI — the interactive Mado panel is not affected.


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

Tasku Cloud

Tasku Cloud is the companion web app for Tasku. It backs up your tasks, keeps them in sync across devices, and gives your whole team a shared view.

Free for individuals — sign up and get cloud backup and sync with no credit card required. Teams plan — adds shared projects, task assignment, and an activity feed for collaborative work.

Your local SQLite database is always the source of truth. Tasku Cloud is an optional layer — removing it doesn't affect your data.


Introducing Mado

Mado is a native macOS terminal multiplexer releasing October 1st, with first-class Tasku integration built in. Your tasks, projects, and priorities live in the sidebar, always a glance away. Switch projects in the Tasku panel and Mado switches with you, restoring the exact pane layout you had open last time.

Both Tasku and Mado are maintained independently — you can use either with or without the other.

License

MIT