Skip to content

Repository files navigation

Kanbanban 🦀

License: MIT Crates.io Build Status

Kanbanban is a high-performance, terminal-based Kanban board written in Rust.

Version 1.0.0 represents a complete architectural shift, focusing on a modal-driven interface, Markdown task descriptions, and deep integration with your terminal environment (using your system's $EDITOR like Vim or Nano).

Features

  • 📝 Markdown Support: Task descriptions now render with full Markdown support (bold, italics, lists, and headings).
  • 📟 External Editor Bridge: Press o to instantly jump into Vim, Nano, or VS Code to write long-form task notes, then jump back into the TUI.
  • 🖼️ Modal-First UI: A clean, focused editing experience that prevents accidental changes and maximizes vertical screen space.
  • 🏷️ Smart Tagging: A global tag registry that ensures consistent coloring across your entire board.
  • 🏢 Category Management: Organize cards into projects or categories with a dedicated selection modal.
  • ⚡ Performance: Rewritten from the ground up for zero-latency navigation, even with thousands of tasks.

Installation

From crates.io (Recommended)

cargo install kanbanban

From Source

git clone https://github.com/luizvbo/kanbanban.git
cd kanbanban
cargo install --path .

Usage

Simply run the binary. By default, it looks for kbb.yaml in your current directory, or you can specify a path:

kanbanban                     # Loads/Creates kbb.yaml
kanbanban my_work_board.yaml  # Loads specific file

Keybindings

Kanbanban uses a "Vim-lite" modal system.

Mode Key Action
Normal h / l Switch Columns
j / k Select Card
a / n Add New Card
Enter / e Edit Card
v View Details (Full Markdown)
d Delete Card
H / L Move Card to Left / Right Column
J / K Move Card Up / Down inside Column
r / R Rename Column / Rename Board
/ Filter cards by title, tag, or category
? Toggle Help Menu
Editing Tab / Shift+Tab Cycle through Title, Category, Tags, etc.
Enter Edit selected field / Cycle to next
o Open Description in External Editor
Esc Stop editing field / Exit Modal

Data Storage

Kanbanban stores everything in a single, human-readable YAML file.

  • The default filename is kbb.yaml.
  • To see exactly where your data is saved, press ? inside the app; the full file path is displayed at the bottom of the help menu.

Contributing

We welcome contributions! The codebase is heavily documented to help you get started.

  1. Check the logic: See src/app/mod.rs for the main application state.
  2. Change the look: Check src/ui/board.rs for the Kanban rendering logic.
  3. Add a feature: Add your new hotkey to src/handler/modes.rs.

Please see DEVELOPMENT.md for instructions on our workflow, testing, and release process.

License

MIT License. See LICENSE for details.


Architecture Note

Version 1.0.0 introduces breaking changes to the YAML format compared to older 0.x versions to support the new Markdown and Category features.

About

TUI kanban board in rust

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages