Nick306 downloadsOrganize notes as a Linear-style kanban board in a Bases view, with status columns, drag-to-restatus, priority, labels, and sub-issues.
A Linear-style kanban board rendered as a custom Obsidian Bases view. Each task is a note; the board reads and writes the note's frontmatter — with a little convenience-store pixel art for company.
status, with a springy animation.parent property; they nest visually under the parent card, which shows a done/total rollup.+ on any column header, or the branch icon on a card for a sub-task).Obsidian's BasesView API is read-only: it hands the view the filtered set of notes and their evaluated property values. All mutations (drag-to-restatus, priority, labels, create) are written back through app.fileManager.processFrontMatter() / vault.create(). Frontmatter is read directly via the metadata cache, so the board stays in sync whenever a note changes.
Column definitions live in plugin Settings and apply to every Kanban view that does not set its own override.
key:Label, key:Label, …), that string wins for that view only. Global Settings changes do not rewrite it.Hide toggles in Settings (and "Hide column" on the board) are global visibility flags shared across boards.
One task = one note. Example frontmatter:
---
title: Wire up the auth callback
status: in progress
priority: high
labels:
- backend
- bug
parent: "[[Epic — Authentication]]"
---
Body text becomes the task description.
npm installnpm run build (or npm run dev to watch)main.js, manifest.json, and styles.css into
<vault>/.obsidian/plugins/konbini-kanban/.base) whose filter selects your task notes.| Option | Default | Notes |
|---|---|---|
| Status property | status |
frontmatter key holding the status value |
| Priority property | priority |
|
| Labels property | labels |
list-valued |
| Parent property | parent |
wikilink/path to the parent task |
| Title property | title |
falls back to the filename |
| Start/End date property | startDate / endDate |
|
| Default status | todo |
applied to new tasks |
| Columns override | (empty) | optional key:Label, … — when set, overrides global Settings for this view |
MIT