= Pelican
:toc:
:toclevels: 1
:toc-title: Contents

== Overview

**This project is WIP and is not meant for production use.**

Pelican is a simple Kanban board for your terminal.
Data is stored in a https://github.com/etcd-io/bbolt[BoltDB] database.
Pelican does not make any assumptions to the path of the database file;
instead the user is expected to specify the path when running the application.

== Installation

=== Requirements

==== Go

A minimum version of Go 1.21.0 is required for installing spruce.
Please go https://go.dev/dl/[here] to download the latest version.

==== Mage (Optional)

The project includes a https://codeflow.dananglin.me.uk/apollo/pelican/src/branch/main/magefiles/mage.go[magefile]
for automating the build and installation of the binary.
You can visit the https://magefile.org[website] for instructions on how to install Mage.

=== Install with Mage

_TBC_

=== Install with Go

If your `GOBIN` directory is included in your `PATH` then you can install Pelican with Go.

[source,console]
----
git clone https://codeflow.dananglin.me.uk/apollo/pelican.git
cd pelican
go install ./cmd/pelican
----

== Running Pelican

To create a new Kanban project with Pelican, simply run the following command:
[source,console]
----
pelican project.pelican
----

This will create a new BoltDB database file called `project.pelican` in your current directory
and initialises the database with an empty project.

== Keybindings

[%header,cols=2*]
|===
|Key
|Action

|CTRL + q
|Quit the application

|a
|Add card

|CTRL + d
|Delete card

|m
|Move card between statuses
|===

== Inspiration

https://github.com/witchard/toukan[The toukan project]
