Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/kakengloh/tsk

Lightweight terminal task app written in Go (Golang)
https://github.com/kakengloh/tsk

boltdb cli go golang simple todo

Last synced: 2 months ago
JSON representation

Lightweight terminal task app written in Go (Golang)

Lists

README

        


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](https://github.com/etcd-io/bbolt) ✅
- Task due reminder via desktop notification ✅

See [todo](#todo)

## Installation

### Homebrew
```bash
brew tap kakengloh/tsk
brew install tsk
```

### Go

```bash
# 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](https://github.com/kakengloh/tsk/releases)

## Example

### Create a new task

```bash
tsk new 'make coffee'
```

tsk new output

### Create a new task with status, priority and due

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

tsk new with options output

### List tasks

```bash
tsk ls
```

tsk ls output

### List tasks with filters (status, priority, due)

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

tsk ls with filters output

### List tasks with a keyword

```bash
tsk ls cat
```

tsk ls with keyword output

### List tasks as JSON

```bash
tsk ls -f json
```

tsk ls json format output

### View tasks in a Kanban board

```bash
tsk board
```

tsk board output

### Mark task(s) as todo

```bash
tsk todo 2
```

tsk todo output

### Mark task(s) as doing

```bash
tsk doing 2
```

tsk doing output

### Mark task(s) as done

```bash
tsk done 2
```

tsk done output

### Modify an existing task

```bash
tsk mod 2 -s todo -p low
```

tsk mod output

### Add note(s) on a task

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

tsk note output

### Remove task(s)

```bash
tsk rm 1
```

### Start task reminder

```bash
tsk reminder start
```

### Stop task reminder

```bash
tsk reminder stop
```

### Set task reminder time

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

### Clean your data

```bash
tsk clean
```

## Todo

- [x] Task due
- [x] 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