Skip to content

Command-line Kanban board/task manager with support for Trello boards and GitHub projects

License

Notifications You must be signed in to change notification settings

keeganstoner/taskell

Repository files navigation

Taskell

A CLI kanban board/task manager, written in Haskell

  • Per project task lists
  • Stored using Markdown
  • Clean diffs for easy version control
  • vim style key-bindings

Demo

Installation

Homebrew (Mac)

You can install Taskell on your Mac using Homebrew:

brew install smallhadroncollider/taskell/taskell

There are bottles (binaries) available for High Sierra and Sierra. If these are not available for your computer, Homebrew will build Taskell from scratch using Stack, which can take a while, particularly on older machines.

Debian/Ubuntu

A .deb package is available for Debian/Ubuntu. Download it and install with dpkg -i <package-name>.

Fedora

Run sudo dnf install ncurses-compat-libs then download and run binary as described below.

Binaries

A binary is available for Mac and Linux. Download it and copy it to a directory in your $PATH (e.g. /usr/local/bin or /usr/bin).

Running

  • taskell: will use taskell.md in the cwd - offers to create if not found
  • taskell filename.md: will use filename.md in the cwd - offers to create if not found

Controls

Press ? for a list of controls

Tips

  • If you're using a simple two-column "To Do" and "Done" then use the space bar to mark an item as complete while staying in the "To Do" list. If you're using a more complicated column setup then you will want to use H/L to move tasks between columns.

Storage

By default stores in a taskell.md file in the working directory:

## To Do

- Do this

## Done

- Do That

Configuration

You can edit Taskell's settings by editing ~/.taskell/config.ini:

[general]
; the default filename to create/look for
filename = taskell.md

[layout]
; the width of a column
column_width = 24

; the padding of a column
; for both sides, so 3 would give a gap of 6 between two columns
column_padding = 3

[markdown]
; the markdown to start a title line with
title = "##"

; the markdown to start a task line with
task = "-"

; the markdown to start a sub-task line with
subtask = "    *"

Make sure that the values in the [markdown] section are surrounded by double-quotes.

If you always use sub-tasks, an alternative setup for [markdown] might be:

[markdown]
title = "##"

; each task is a header
task = "###"

; subtasks are list items under the header
subtask = "-"

Warning: currently if you change your [markdown] settings any older files stored with different settings will not be readable.

Theming

You can edit Taskell's colour-scheme by editing ~/.taskell/theme.ini:

[other]

; list title
title.fg = green

; current list title
titleCurrent.fg = blue

; current task
taskCurrent.fg = magenta

You can also change the background and default text colour:

[default]

; the app background colour
default.bg = brightBlack

; the app text colour
default.fg = white

The available colours are: black, red, green, yellow, blue, magenta, cyan, white, brightBlack, brightRed, brightGreen, brightYellow, brightBlue, brightMagenta, brightCyan, brightWhite, or default


Roadmap

See roadmap.md for planned features

Contributing

Please check the roadmap.md before adding any bugs/feature requests to Issues.

About

Command-line Kanban board/task manager with support for Trello boards and GitHub projects

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 100.0%