Skip to content

Devboard¤

documentation gitpod gitter

A development dashboard for your projects.

Installation¤

This project is available to sponsors only, through my Insiders program. See Insiders explanation and installation instructions.

Usage¤

Devboard displays columns stacked horizontally, like a Kanban board. Each column is a "To Do Something" and presents information in a data table. Data tables have a header line with labels, and multiple rows presenting the information collected in your projects. Projects are supposed to be Git repositories from which we can collect information such as status, commits, branches, tags, etc.

To start using Devboard, try to run the devboard command in your terminal. It will show you a default board with four columns:

Devboard ────────────────────────────────────────────────────────────────────────────────────────────       ▶ To Commit             ▶ To Pull              ▶ To Push            ▶ To Release        Project     Details Project        Bran Project  Branch  Co Project  Details   archan      1M      failprint      feat duty     main    3  duty     2F 1X     dependenpy  1D 2U   git-changelog  main mvodb    1F        failprint   1U      ────────────────────────────────────────────────────────────────────────────────────────────  F5  Refresh  ?  Help  Q  Exit 

If the columns are empty and collapsed, that is normal. It's because Devboard does not know where to look for your projects. By default, it looks into the dev folder in your home/user directory. To change that directory, you can modify it directly in the default board, located in your user configuration directory (use devboard --show-config-dir), or you can set the DEVBOARD_PROJECTS environment variable:

export DEVBOARD_PROJECTS=~/path/to/your/projects
setx DEVBOARD_PROJECTS ~/path/to/your/projects

Informative actions¤

Once your board displays some rows in the "To Commit" column, try showing the Git status or diff with S and D keys.

Devboard ────────────────────────────────────────────────────────────────────────────────────────────       ▶ To Commit             ▶ To Pull              ▶ To Push            ▶ To Release        Project  Details  Project  Branch  Com Project  Branch  Co Project  Details   archan   1M       failpri  feat/c  1   duty     main    3  duty     2F 1X     depende  1D 2U    git-cha  main    1   mvodb    1F        failpri  1U       ────────────────────────────────────────────────────────────────────────────────────────────  F5  Refresh  ?  Help  Q  Exit 

You can scroll using the mouse wheel and the arrows. You can dismiss the modal window with any other key press.

Background actions¤

Try to move focus to different columns with the Tab and Shift+Tab keys. In the "To Pull" column, try to start a background action that will pull a branch using the P key. If action started successfully, you should see a notification:

Devboard ────────────────────────────────────────────────────────────────────────────────────────────       ▶ To Commit             ▶ To Pull              ▶ To Push            ▶ To Release        Project     Details Project        Bran Project  Branch  Co Project  Details   archan      1M      failprint      feat duty     main    3  duty     2F 1X     dependenpy  1D 2U   git-changelog  main mvodb    1F        failprint   1U      ────────────────────────────────────────────────────────────────────────────────────────────  F5  Refresh  ?  Help  Q  Exit  S  Show status  D  Show diff 

Upon success, you'll see a success notification, and the row will be removed from the table:

Devboard ────────────────────────────────────────────────────────────────────────────────────────────       ▶ To Commit             ▶ To Pull              ▶ To Push            ▶ To Release        Project     Details Project        Bran Project  Branch  Co Project  Details   archan      1M      failprint      feat duty     main    3  duty     2F 1X     dependenpy  1D 2U   git-changelog  main mvodb    1F        failprint   1U      ────────────────────────────────────────────────────────────────────────────────────────────  F5  Refresh  ?  Help  Q  Exit  S  Show status  D  Show diff 

If there is an error, you'll see an error notification:

Devboard ────────────────────────────────────────────────────────────────────────────────────────────       ▶ To Commit             ▶ To Pull              ▶ To Push            ▶ To Release        Project     Details Project        Bran Project  Branch  Co Project  Details   archan      1M      failprint      feat duty     main    3  duty     2F 1X     dependenpy  1D 2U   git-changelog  main mvodb    1F        failprint   1U      ────────────────────────────────────────────────────────────────────────────────────────────  F5  Refresh  ?  Help  Q  Exit  S  Show status  D  Show diff 

Sometimes the column will prevent you from applying action, for example when the repository is dirty:

Devboard ────────────────────────────────────────────────────────────────────────────────────────────       ▶ To Commit             ▶ To Pull              ▶ To Push            ▶ To Release        Project     Details Project        Bran Project  Branch  Co Project  Details   archan      1M      failprint      feat duty     main    3  duty     2F 1X     dependenpy  1D 2U   git-changelog  main mvodb    1F        failprint   1U      ────────────────────────────────────────────────────────────────────────────────────────────  F5  Refresh  ?  Help  Q  Exit  S  Show status  D  Show diff 

Devboard will also prevent applying multiple actions rapidly to the same project, to prevent race conditions:

Devboard ────────────────────────────────────────────────────────────────────────────────────────────       ▶ To Commit             ▶ To Pull              ▶ To Push            ▶ To Release        Project     Details Project        Bran Project  Branch  Co Project  Details   archan      1M      failprint      feat duty     main    3  duty     2F 1X     dependenpy  1D 2U   git-changelog  main mvodb    1F        failprint   1U      ────────────────────────────────────────────────────────────────────────────────────────────  F5  Refresh  ?  Help  Q  Exit  S  Show status  D  Show diff 

Row selection¤

You can select multiple rows and apply actions on all selected rows at once.

  • To select a row, press Space. To unselect it, press Space again.
  • To select all rows, press Ctrl+A or Num *.
  • To reverse the selection, press !.
  • To expand the selection upwards or downwards, hold Shift and press Up or Down.

Devboard ────────────────────────────────────────────────────────────────────────────────────────────       ▶ To Commit             ▶ To Pull              ▶ To Push            ▶ To Release        Project     Details Project        Bran Project  Branch  Com Project  Details   archan      1M      failprint      feat duty     main    3   duty     2F 1X     dependenpy  1D 2U   git-changelog  main mvodb    1F        failprint   1U      ────────────────────────────────────────────────────────────────────────────────────────────  F5  Refresh  ?  Help  Q  Exit 

Building your own board¤

Follow our tutorial!

Choosing boards¤

Boards in the configuration directory can be chosen by passing their name to the devboard command:

devboard myboard

You can set a board as the default one in Devboard's configuration file. Use devboard --show-config-dir to get its location, then:

board = "myboard"

Now when calling devboard it will use myboard instead of the default one.

Finally, you can also pass a path to a board module:

devboard ./path/to/myboard.py