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

Build Status

A CLI kanban board/task manager for Mac and Linux

  • Per project task lists
  • vim style key-bindings
  • Stored using Markdown
  • Clean diffs for easy version control
  • Support for sub-tasks
  • Written in Haskell

Demo

Buy Me A Coffee

Installation

Homebrew (Mac)

You can install Taskell on your Mac using Homebrew:

brew install smallhadroncollider/taskell/taskell

There are usually 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. Occasionally the build fails the first time, but usually works on a second attempt.

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 pwd - offers to create if not found
  • taskell filename.md: will use filename.md in the pwd - 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 = 30

; 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.


Acknowledgements

Built using Brick. Thanks to Jonathan Daugherty for answering all my questions and pointing me in the right direction. Also thanks to Jack Leigh and Thom Wright for helping me get started.

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%