Skip to content
/ tsk Public

Lightweight terminal task app written in Go (Golang)

License

Notifications You must be signed in to change notification settings

kakengloh/tsk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

98 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

tsk logo

tsk

tsk is a terminal task management app with an emphasis on simplicity, efficiency and ease of use


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 πŸ˜΅β€πŸ’«
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

  • Simple and concise commands βœ…
  • Works without internet connection βœ…
  • Data stored locally - powered by BoltDB βœ…
  • Task due reminder via desktop notification βœ…

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'

tsk new output

Create a new task with status, priority and due

tsk new 'feed my cat' -s doing -p high -d 1h

tsk new with options output

List tasks

tsk ls

tsk ls output

List tasks with filters (status, priority, due)

tsk ls -s doing -p high -d 1h

tsk ls with filters output

List tasks with a keyword

tsk ls cat

tsk ls with keyword output

List tasks as JSON

tsk ls -f json

tsk ls json format output

View tasks in a Kanban board

tsk board

tsk board output

Mark task(s) as todo

tsk todo 2

tsk todo output

Mark task(s) as doing

tsk doing 2

tsk doing output

Mark task(s) as done

tsk done 2

tsk done output

Modify an existing task

tsk mod 2 -s todo -p low

tsk mod output

Add note(s) on a task

tsk note 2 'it still hungry' 'meow...'

tsk note output

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

  • Task due
  • Due reminder (via desktop notification)

Contributing

We welcome all feature requests and pull requests! πŸ™‹


Buy Me A Coffee tsk - Organize tasks right in your terminal | Product Hunt