Kanban board for Beads issue tracking

A SvelteKit web app that wraps the Beads CLI with a drag-and-drop Kanban interface. Manage issues visually while keeping .beads/ as the source of truth.

Kanban Board
Kanban Board
Detail Panel
Agent Pane
Keyboard Nav
Dependency Graph
Stats Dashboard
Tree View
Tree Collapsed
Kanban Board
Detail Panel
Agent Pane
Keyboard Nav
Dependency Graph
Stats Dashboard
Tree View
Tree Collapsed
npx github:doublej/strandkanban /path/to/project

Requires Node 18+ or Bun and the Beads CLI

Features

Everything you need to manage Beads issues visually.

Drag & Drop

Move issues between columns to update their status. Reorder within columns to set priority.

Keyboard Navigation

Navigate and manage issues entirely from the keyboard. Arrow keys, shortcuts, and quick actions.

Dependency Tracking

Link issues with parent-child and blocker relationships. See what blocks what at a glance.

Inline Editing

Edit titles, descriptions, and comments directly on the board without leaving the view.

Search & Filter

Filter issues by text, status, labels, and actionability. Find what matters quickly.

CLI-Backed

All writes go through the bd CLI, keeping your .beads directory as the single source of truth.

🔔

Notifications

Browser push and MCP desktop notifications keep you informed of issue changes without polling.

Status Flow

Issues move through five stages, each mapped to a Kanban column.

open Backlog

New issues waiting to be worked on

in_progress In Progress

Currently being worked on

hooked Hooked

Waiting for agent action

blocked Blocked

Blocked by a dependency

closed Complete

Done and resolved

Architecture

How data flows from the Beads database to the Kanban UI.

SQLite DB .beads/ directory with issues.db
db.ts Direct SQLite reads for fast queries
API Routes SvelteKit endpoints: GET reads DB, POST/PATCH shell out to bd
Svelte State $state runes for reactive Kanban columns
Kanban Board Drag-and-drop UI with keyboard navigation

Read vs Write path

Reads

Go directly to SQLite via db.ts for fast queries, bypassing the CLI.

Writes

Shell out to bd CLI commands (bd create, bd update, bd close) to keep the database consistent.

Tech Stack

Built with modern tools for fast development and a snappy UI.

Svelte 5

Runes ($state, $derived, $effect) for reactive UI

SvelteKit 2

File-based routing, API routes, server-side rendering

TypeScript

Type-safe interfaces for issues, deps, and columns

SQLite

Direct database reads via better-sqlite3 for performance

Getting Started

Set up the Kanban board for your Beads project.

npx github:doublej/strandkanban /path/to/project

Setup steps

  1. 1
    Install prerequisites

    Install Node 18+ or Bun, then install the Beads CLI with brew install beads.

  2. 2
    Run once

    Run npx github:doublej/strandkanban /path/to/project. The launcher checks bd, initializes .beads/ if you approve, and starts the board.

  3. 3
    Install the shortcut

    Run npm install -g github:doublej/strandkanban to get the shorter strand command.

  4. 4
    Launch daily

    Run strand inside a Beads project or strand /path/to/project from anywhere.

Available commands

bun run dev Start dev server
bun run build Build for production
bun run check Type-check with svelte-check