arakkkkk
kanban.nvim
Lua

Kanban board with Neovim!!

Last updated Jun 25, 2026
127
Stars
14
Forks
12
Issues
0
Stars/day
Attention Score
61
Language breakdown
No language data available.
โ–ธ Files click to expand
README

kanban.nvim

Neovim kanban plugin. Manage task as a kanban board in neovim. Task information is import and export by markdown file. Compatible with obsidian kanban.

screenshots

demo

Requirements

  • ripgrep

Installation

Using packer
use 'arakkkkk/kanban.nvim'
-- Optional
use 'nvim-telescope/telescope.nvim'
and setup
require("kanban").setup({
	markdown = {
		description_folder = "./tasks/",  -- Path to save the file corresponding to the task.
		list_head = "## ",
	}
})
Using lazy.nvim
return {
  "arakkkkk/kanban.nvim",
  -- Optional
  dependencies = {
    "nvim-telescope/telescope.nvim",
  },

config = function() require("kanban").setup({ markdown = { description_folder = "./tasks/", -- Path to save the file corresponding to the task. list_head = "## ", }, }) end, }

With the above settings, you can manage tasks as follows

.
โ””โ”€โ”€ kanban.md
    โ””โ”€โ”€ tasks           # Configured by setup option (description_folder)
        โ”œโ”€โ”€ task1.md    # Memo for task1
        โ”œโ”€โ”€ task2.md    # Memo for task2
        โ”œโ”€โ”€ task3.md    # Memo for task3
        โ””โ”€โ”€ task4.md    # Memo for task4

Usage

Create first kanban project.

:KanbanCreate <file_path>

and open kanban to enter :KanbanOpen <file_path>.

You can add new tasks with a and move cards to focus with <C-h/j/k/l>.

You can also move a card with H/J/K/L.

See more keymap for information on how to create and move tasks.

In a task card, the first line of text is as the task title, the string beginning with @ is treated as the deadline, and the characters beginning with # are treated as tags.

All setup options are here.

Format of task cards

img
  • First line is Task title.
  • Line beginning with # are tag.
  • Line beginning with @ is due.

Integration

Obsidian.nvim

If you are an obsidian.nvim user, you can use this plugin as an Obsidian command.

Examples:

  • :Obsidian kanban open task.md
  • :Obsidian kanban create task.md
see more at obsidian.nvim

Telescope search

If you installed telescope.nvim, you can search kanban project files by KanbanOpen telescope command.

This command search markdown files by kanban-plugin: .+ which is same options to Obsidian kanban.

Completion (Optional)

kanban.nvim can provide in-buffer completion for due dates (@...) and tags (#...) via optional completion engines. The plugin works without any of these; install only if you want completion.

What gets completed

  • @ due tokens are expanded to dates: @today, @2d, @1w, @2m, @1y, @/MM/DD, @//DD, weekdays @su..@sa, and next-week variants like @nmo, @nwe, etc. Candidates insert the concrete date like @2025/09/07.
  • # tags are suggested from existing task tags found in the current Kanban board (unique, case-insensitive match).

nvim-cmp

  • Install: hrsh7th/nvim-cmp
  • Auto setup: If nvim-cmp is installed, kanban.nvim automatically registers a source named kanban and enables it for filetype=kanban. No extra config is required.
  • Manual tweak (optional):
-- Example: change sources order for kanban buffers
require('cmp').setup.filetype('kanban', {
  sources = require('cmp').config.sources({
    { name = 'kanban' },
    { name = 'buffer' },
    { name = 'path' },
  })
})

blink.cmp

require('blink.cmp').setup({
  sources = {
    default = { 'lsp', 'path', 'buffer', 'kanban' },
    providers = {
      kanban = {
        name = 'kanban',
        module = 'kanban.fn.cmp.blink.cmp',
        score_offset = 15, -- optional: bump priority
        opts = {},         -- reserved for future options
      },
    },
  },
})
The provider is active only when filetype=kanban and replaces the token under the cursor using textEdit for precise insertion.

Kaymaps

All keymap are here.

| Key | Action | |--------------|------------------------------------------------| | | Focus left/below/above/right task. | | | Move task to left/below/above/right. | | gg | Focus top task in the list. | | G | Focus bottom task in the list. | | \lr | Rename list. | | \la | Add list. | | \ld | Delete list. | | \ | Add task. | | \ | Complete task. | | :w\ | Save kanban. | | q | Quit. | | \ | Add task description in another markdown file. |

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท arakkkkk/kanban.nvim ยท Updated daily from GitHub