Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/fulsomenko/kanban/llms.txt

Use this file to discover all available pages before exploring further.

Introduction to Kanban CLI

Kanban is a fast, keyboard-driven kanban tool built with Rust for managing projects directly from your terminal. Inspired by lazygit and powered by ratatui, it provides a modern TUI (Terminal User Interface) for agile project management. Kanban Demo

What is Kanban?

Kanban is a terminal-based project management solution that brings the visual simplicity of kanban boards to your command line. It combines the efficiency of keyboard-driven interfaces with rich project management features, allowing you to manage boards, cards, sprints, and workflows without leaving your terminal.

Key Features

Core Functionality

Board Management

Create, edit, and organize multiple boards with custom workflows

Custom Columns

Define your own columns to match your workflow (Todo, In Progress, Blocked, Done)

Rich Cards

Cards with metadata including priority, story points, due dates, and more

Card Dependencies

Parent-child and blocking relationships between cards

Productivity Features

  • Keyboard-Driven: Vim-like navigation with hjkl and context-aware shortcuts
  • Search: Find cards instantly with vim-style / search
  • Undo / Redo: Undo (u) and redo (U) any action
  • Multiple Views: Switch between flat list, grouped by column, or kanban board layout with V
  • External Editor: Edit in your preferred editor (emacs, nano, vim, etc.)

Organization Tools

  • Sprint Planning: Plan, start and complete sprints
  • Story Points: Assign 1-5 point estimates with color-coded display
  • Sorting: Sort cards by points, priority, date, status, or position
  • Filtering: Filter by sprint, status, or search results
  • Card Archiving: Archive and restore tasks
  • Metadata: Organize with due dates, priority levels, and timestamps

Use Cases

Perfect for software teams practicing agile methodologies. Track sprints, estimate story points, manage dependencies, and visualize workflow in a lightweight terminal interface.
Manage personal tasks and projects with a fast, distraction-free interface. No need for heavy web applications or complex setup—just launch and start organizing.
Use the CLI interface to automate project management tasks. All commands output JSON, making it easy to integrate with scripts, CI/CD pipelines, or other tools.
Manage projects directly on remote servers via SSH without needing a web interface or GUI.

Architecture Highlights

Kanban is built with Rust for speed and reliability:
crates/
├── kanban-core        → Shared traits, error handling & reusable state primitives
├── kanban-domain      → Domain models, business logic, filtering & sorting
├── kanban-persistence → JSON storage, versioning & migrations
├── kanban-tui         → Terminal UI with ratatui
├── kanban-cli         → CLI entry point
└── kanban-mcp         → Model Context Protocol server for LLM integration
Design Principles: Command Pattern for all mutations, immediate saving, format versioning with automatic migrations, and multi-instance support with last-write-wins conflict resolution.

Data Persistence

  • Format: JSON-based import/export
  • Automatic Migration: V1 data files are automatically upgraded to V2 format on load with backup creation
  • Multi-Instance Support: Real-time file watching detects changes from other running instances
  • Atomic Writes: Crash-safe write pattern (temp file → atomic rename) prevents data corruption
  • Rich Metadata: Timestamps, priority levels, story points, custom tags

Next Steps

Ready to get started? Follow these guides:

Installation

Install Kanban using cargo, nix, or from source

Quick Start

Learn the basics and create your first board

License

Kanban is open source software licensed under Apache 2.0.

Build docs developers (and LLMs) love