Package: boards
boards 🏂Recursive kanban for the command lineboards is a cli kanban tool based around the filesystem. A board is a folder with a set config file at the top. By default, items on a kanban board are markdown files, which allows you to attach and edit notes to them. They can be anything though (mp3s if you really want) which means they can also be folders, and those folders can be boards.You can:Just have a normal kanban boardHave a big project board with subprojects understandHave a whole board where every task is secretly a cat pictureInclude a kanban board within a git repositoryHave a board inside a board inside a boardHave a board inside a board where every task is a board and every task in those boards is an mp3UseAfter installing the runnable "bd" is available, the first time you run it, it'll create a default user board for you.You can just typebdand boards will display your default board (or if your in a folder that is a board, that board).Commands are based onclikanand all work like this:bd[optionallynameaboard]--long-comand/-lid/name-of-itemIn the above screenshot, on a board calleddemo, item number 6 has been "promoted" with-p. This could have been done in a longer form with:bddemo--promoteinstall-boardsAvailable commands are:CommandExplanation--promote/-pMove the item right one column--demote/-dMove the item left one column--new/-nCreate a new item on the board--notes/--edit/-eOpen item in a text editor for note--remove/-rDelete item from board--make-board/-mMake specified item into a board--init/-iCreate a new board*--help/-hDisplay help message**Note that--initand--helpdo not take task names or IDs.--inittakes the name of a folder (or "." for current directory) to create a board in, and--helptakes no arguments.Specifying boards / SubboardsBoards can be given aliases, which are specified in you user config file (see next section)If no board is specified, runningbdwill first check to see if you're currently in a "board" folder (i.e. one with the special board.toml config file), and otherwise default to calling the board aliased as "default" (if this doesn't exist an error message will display - it's created by default, but you could remove it from your config).If you have converted an item into a subboard withbd --make-board some-itemyou might be wondering how to actual look at it. You can use "." to make out parent.child boards, for instance:bdproject.some-subproject--demotean-itemConfigurationUser ConfigurationBoards will create a config file when first ran in ~/.config/boards/config.toml.There aren't many options, it'll look something like this:editor="nvim"[boards]default="/home/me/.config/boards/userboard"work="/home/me/Documents/work-board"In the above example, the editor, which defaults tovihas been set tonvim. Any command line runnable can be set as your editor (code,hx,nano). Alongside the generated default board, another board has been aliased as "work". This meansbd workwill no to look in that specied location.Board ConfigurationWhen initialised, aboard.configfile will be created. Again, there aren't many options, but it should look like this:lanes=["todo","doing","done"]bin="archive"[icons]todo="📒"doing="🔧"done="🚀""lanes" marks out which folders are considered lanes on your kanban board (as well as the order to display them in). "bin" is the folder into which deleted items will be placed.Optionally the "icons" section allows you to set additional emojis (or any text) to display next to the lane titles.InstallationBoards depends on python, and is otherwse a pip install away with:pip install boards⚠️ Consider usingpipx install boardsto install into an isolated environment⚠️Inspiration / Similar ProjectsThis is massively influence by (/copied from) the awesomeclikanwhich I used a lot previously. I started this project when I wanted to have some additional features (notes, recursive boards, multiple boards)