Home
Softono

TUI Kanban

Open source MIT Rust
14
Stars
3
Forks
1
Issues
1
Watchers
7 months
Last Commit

 About TUI Kanban

Terminal-based kanban board with customizable columns, vim keybindings, and individual tag colors. Built in Rust for speed and reliability. Perfect for keyboard-driven productivity workflows.

Platforms

Web Self-hosted Linux

Languages

Rust

Links

Need Help Installing TUI Kanban?

We provide expert installation service for this software. Our team will install, configure, and secure TUI Kanban on your server. plans start at just $30.

TUI Kanban

View on GitHub

TUI Kanban Board

A simple, lightweight terminal-based kanban board built with Rust. Works on any Linux distribution.

screenshot-2025-12-19_19-10-59 screenshot-2025-12-19_19-11-17

Features

  • Customizable columns: Create, rename, and delete columns to match your workflow (default: To Do, In Progress, Testing, Done)
  • Multiple projects: Organize tasks across different projects with easy switching (Ctrl+P)
  • Tag system: Categorize tasks with tags (urgent, bug, feature, and more)
  • Color-coded tasks: Visual distinction based on tags
  • Vim-style navigation: Use hjkl or arrow keys
  • Task detail view: Edit titles, add/remove tags, write multi-line descriptions
  • Bi-directional movement: Move tasks forward and backward through columns
  • Persistent storage: Tasks are saved automatically to ~/.config/tui-kanban/projects.json
  • CI/CD: Automated testing with GitHub Actions

Installation

From AUR (Arch-based distros)

# Using yay
yay -S tui-kanban-git

# Using paru
paru -S tui-kanban-git

# Manual with makepkg
git clone https://aur.archlinux.org/tui-kanban-git.git
cd tui-kanban-git
makepkg -si

From Source

Requires Rust toolchain (rustc, cargo):

git clone https://github.com/xRipzch/TUI-Kanban.git
cd TUI-Kanban
cargo build --release
sudo install -Dm755 target/release/tui-kanban /usr/local/bin/tui-kanban

Usage

Run the application:

tui-kanban

Keyboard Shortcuts

Normal Mode

  • h/j/k/l or Arrow keys - Navigate between columns and tasks
  • Enter - Open task details
  • a - Add a new task to the selected column
  • t - Add a tag to the selected task
  • m - Move task forward (TODO → IN PROGRESS → TESTING → DONE)
  • n - Move task backward (DONE → TESTING → IN PROGRESS → TODO)
  • d - Delete the selected task
  • Shift+C - Add a new column
  • Shift+R - Rename current column
  • Shift+D - Delete current column (must be empty)
  • Ctrl+P - Open project list
  • ? - Show help
  • q - Quit the application

Editing

In any field while you are editing.

  • ctrl+e - Open external editor ($EDITOR)

Task Detail View

  • Tab or j - Next field
  • Shift+Tab or k - Previous field
  • Enter - Edit focused field
  • 1-9 - Remove tag by number (when Tags field is focused)
  • Esc - Close task detail view

Editing Title/Description

  • Enter - Save title / Add newline in description
  • Esc - Save description / Cancel title edit
  • Backspace - Delete character

Project List

  • j/k or Arrow keys - Navigate projects
  • Enter - Select project
  • a - Add new project
  • d - Delete project
  • s - Set selected project as default
  • Esc - Close project list

Tags

The following tags have special colors:

  • urgent - Red (high priority)
  • security - Light Red (security work)
  • bug - Yellow (needs fixing)
  • feature - Green (new feature)
  • performance - Light Green (optimization)
  • enhancement - Blue (improvement)
  • User - Light Blue (user-facing work)
  • Dev - Magenta (developer work)
  • documentation - Cyan (documentation)
  • design - Light Cyan (UI/UX work)
  • refactor - Light Yellow (code quality)
  • Other tags - White

Data Storage

Projects and tasks are automatically saved to:

~/.config/tui-kanban/projects.json

If you're migrating from an older version, your data will be automatically migrated from the old location.

Default Projects

TUI-Kanban supports setting a default project that opens automatically when you launch the application. There are two ways to set a default project:

Global Default (Recommended for most users)

Set a project as default globally using the project list (Ctrl+P):

  1. Press Ctrl+P to open the project list
  2. Navigate to your desired project using j/k or arrow keys
  3. Press s to set it as the default project

Your choice is saved to ~/.config/tui-kanban/config.json and will apply everywhere.

Directory-Specific Default

For advanced workflows where you work on multiple projects in different directories, you can create a .tui-kanban-project file in any directory:

# In your project directory
echo "MyProject" > .tui-kanban-project

When you run tui-kanban from that directory, it will automatically open "MyProject".

Priority order:

  1. Directory-specific .tui-kanban-project file (if present in current directory)
  2. Global default from config.json (set via 's' in project list)
  3. First project in the list (default behavior)

https://github.com/user-attachments/assets/fa467298-e3c5-4770-b4b5-c40280f6f9ab

Themes

TUI-Kanban supports multiple color themes to match your terminal preferences and improve readability. You can change the theme by editing your config file.

Available Themes

  • high-contrast (Default) - Bright, bold colors for maximum visibility on any terminal theme
  • classic - Traditional color scheme with improved contrast over the original
  • solarized-dark - Popular Solarized palette designed for reduced eye strain
  • gruvbox - Warm, retro color scheme with earthy tones
  • nord - Cool, arctic-inspired colors from the Nord palette

Changing Your Theme

The theme can be changed from the UI by pressing ctrl+t.

Edit your configuration file at ~/.config/tui-kanban/config.json (Linux/macOS) or %APPDATA%\tui-kanban\config.json (Windows):

{
  "theme": "nord",
  "default_project": "Work"
}

Available theme names: high-contrast, classic, solarized-dark, gruvbox, nord

Changes take effect the next time you launch tui-kanban. If the theme name is invalid or not specified, it will default to high-contrast.

Contributors

Special thanks to:

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

For bugs and feature requests, please create an issue on the GitHub repository.