Skip to main content

Boards & Columns

Run multiple independent boards, configure columns per board, and tailor settings to your workflow.

Multiple boards

Every project can have as many boards as it needs. Boards live side by side in the same .kanban/ directory, each with its own column set, labels, settings, and card namespace.

kl boards                                    # list all boards
kl boards add --id bugs --name "Bug Tracker"
kl boards show bugs
kl boards default bugs                       # set the active board
kl list --board bugs                         # target a specific board

Column management

The five default columns (Backlog, To Do, In Progress, Review, Done) can be renamed, recolored, added, or removed.

kl columns                                              # list columns
kl columns add --id testing --name Testing --color "#ff9900"
kl columns update testing --color "#00cc66"
kl columns remove testing                               # only removes empty columns
Removing a column only succeeds when it has no cards. Move or delete the cards first, or clean the column from the web UI column menu.

Column visibility controls

Open the column menu () and choose Minimize to collapse a column to a slim rail showing the name and card count. Use Board options → Columns to toggle visibility of any column without removing it.

Board settings

A tabbed settings panel provides three areas:

  • General — board name, default priority, compact card mode, background theme
  • Defaults — default column for new cards, display options, zoom preset
  • Labels — define label names and hex colors used across the board
kl settings                                  # print current settings
kl settings update --compactMode true        # update via CLI

Standalone server

Run kl serve to start the standalone web server. Anyone on your local network (or VPN) can open the board in their browser. Suitable for team use, CI pipelines, and scripting via the REST API.

kl serve                          # start on port 3000, auto-open browser
kl serve --port 8080 --no-browser # custom port, headless

The server provides the full React web UI at /, the REST API at /api, Swagger UI at /api/docs, and a WebSocket endpoint for real-time sync.

VS Code extension

The extension is bundled in the same npm package. It renders the board as a webview panel inside VS Code — no browser tab required. The extension runs the same server process as kl serve and reads from the same .kanban/ directory.

Works in remote SSH and devcontainer sessions because the server runs in the remote environment and the webview opens in the VS Code UI.

Card transfer between boards

Move a card from one board to another with a single command:

kl transfer card-42 --from default --to bugs

Examples & Recipes →