Home

Awesome

<p align="center"> <img width="250" alt="tsk logo" src="https://user-images.githubusercontent.com/40446720/185574124-28e9e2b4-bdfc-4aa8-aaed-c82d91576a97.png" /> </p> <h1 align="center"> tsk </h1> <p align="center"> <b>tsk is a terminal task management app with an emphasis on simplicity, efficiency and ease of use</b> </p> <p align="center"> <a href="https://github.com/kakengloh/tsk/actions/workflows/build.yml"><img src="https://github.com/kakengloh/tsk/actions/workflows/build.yml/badge.svg" /></a> <a href="https://goreportcard.com/report/github.com/kakengloh/tsk"><img src="https://goreportcard.com/badge/github.com/kakengloh/tsk" /></a> <a href="https://github.com/kakengloh/tsk"><img src="https://img.shields.io/github/go-mod/go-version/kakengloh/tsk.svg" /></a> </p> <br>

Description

tsk allows you to create and manage your tasks efficiently your terminal, so that you can dump your mouse 🖱️

Why

Shiny task management web apps often have tons of unnecessary features causing UI glitches which impact our UX 😵‍💫 <br> The huge JS chunks loading and network calls on every smallest action causing feedback delay and it is annoying ⌛

Personal task management should be as simple as possible, let's build a snappy cli app that doesn't get in our way ✌️

Features

See todo

Installation

Homebrew

brew tap kakengloh/tsk
brew install tsk

Go

# Go 1.16+
go install github.com/kakengloh/tsk@latest

# Go < 1.16
GO111MODULE=on go get github.com/kakengloh/tsk

Ensure that $GOPATH/bin is in your PATH

Shell completion

Shell completion is supported on bash, zsh, fish, powershell

To enable it, run tsk completion {YOUR_SHELL} -h and follow the steps

Executables

See releases

Example

Create a new task

tsk new 'make coffee'
<img width="600" alt="tsk new output" src="https://user-images.githubusercontent.com/40446720/186668426-a5908430-c1db-4529-9206-6033571cff85.png">

Create a new task with status, priority and due

tsk new 'feed my cat' -s doing -p high -d 1h
<img width="600" alt="tsk new with options output" src="https://user-images.githubusercontent.com/40446720/186668696-6ba2e1b3-d2d2-4db9-953b-ac706876f365.png">

List tasks

tsk ls
<img width="600" alt="tsk ls output" src="https://user-images.githubusercontent.com/40446720/186668844-d73e83dd-e334-403c-b59e-e8410984c994.png">

List tasks with filters (status, priority, due)

tsk ls -s doing -p high -d 1h
<img width="600" alt="tsk ls with filters output" src="https://user-images.githubusercontent.com/40446720/186668966-12b472d3-b38e-449c-b1ad-eec70c86ac42.png">

List tasks with a keyword

tsk ls cat
<img width="600" alt="tsk ls with keyword output" src="https://user-images.githubusercontent.com/40446720/186669061-d20d7a1a-7c75-4225-a0e3-f450dbb193af.png">

List tasks as JSON

tsk ls -f json
<img width="250" alt="tsk ls json format output" src="https://user-images.githubusercontent.com/40446720/186669184-f25cb05d-6625-41db-ac87-3e12b2c03ae0.png">

View tasks in a Kanban board

tsk board
<img width="400" alt="tsk board output" src="https://user-images.githubusercontent.com/40446720/186669288-670f387c-0da8-42cd-a348-502c50853d4c.png">

Mark task(s) as todo

tsk todo 2
<img width="250" alt="tsk todo output" src="https://user-images.githubusercontent.com/40446720/186669381-e5bde5b1-84bd-4cf8-9721-564739930b1e.png">

Mark task(s) as doing

tsk doing 2
<img width="250" alt="tsk doing output" src="https://user-images.githubusercontent.com/40446720/186669448-5eedb3d0-af4b-4074-a42a-d9daf387571c.png">

Mark task(s) as done

tsk done 2
<img width="250" alt="tsk done output" src="https://user-images.githubusercontent.com/40446720/186669471-7ab542ad-ce34-495d-b5cc-8aeb36d086d9.png">

Modify an existing task

tsk mod 2 -s todo -p low
<img width="600" alt="tsk mod output" src="https://user-images.githubusercontent.com/40446720/186669548-1be2b856-5f2a-4e34-8788-bbfdf15f58a9.png">

Add note(s) on a task

tsk note 2 'it still hungry' 'meow...'
<img width="600" alt="tsk note output" src="https://user-images.githubusercontent.com/40446720/186669611-8a7c67aa-ac04-479d-b1c3-46fd2829d24c.png">

Remove task(s)

tsk rm 1

Start task reminder

tsk reminder start

Stop task reminder

tsk reminder stop

Set task reminder time

# Notify on 1 minute, 15 minute and 1 hour before task due
tsk reminder time 1m 15m 1h

Clean your data

tsk clean

Todo

Contributing

We welcome all feature requests and pull requests! 🙋


<p> <a href="https://www.buymeacoffee.com/kakengloh" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 54px !important;width: 217px !important;" ></a> <a href="https://www.producthunt.com/posts/tsk?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-tsk" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=357125&theme=light" alt="tsk - Organize&#0032;tasks&#0032;right&#0032;in&#0032;your&#0032;terminal | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a> </p>