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.
Overview
The CLI mode provides a scriptable interface to Kanban operations. All commands output JSON for easy parsing and integration with other tools.
Configuration
KANBAN_FILE Environment Variable
Set the data file path to avoid passing it to every command:
export KANBAN_FILE = myboard . json
Alternatively, pass the file path directly:
kanban myboard.json board list
All CLI commands return JSON. This makes it easy to parse results with jq or other tools.
Example output:
[
{
"id" : "550e8400-e29b-41d4-a716-446655440000" ,
"name" : "My Project" ,
"description" : "Project description" ,
"created_at" : "2024-01-15T10:30:00Z" ,
"columns" : [
{ "id" : "..." , "name" : "Todo" , "position" : 0 },
{ "id" : "..." , "name" : "In Progress" , "position" : 1 },
{ "id" : "..." , "name" : "Done" , "position" : 2 }
]
}
]
Command Structure
Commands follow this pattern:
kanban [FILE] < RESOURCE > < ACTION > [OPTIONS]
FILE - Optional data file path (or use KANBAN_FILE)
RESOURCE - board, card, column, sprint, export, import
ACTION - list, create, update, delete, etc.
OPTIONS - Resource-specific flags
Board Operations
List Boards
Create Board
kanban board create --name "My Project"
kanban board create --name "My Project" --card-prefix "PROJ"
Get Board
kanban board get < BOARD_I D >
Update Board
kanban board update < BOARD_I D > --name "New Name"
kanban board update < BOARD_I D > --description "Updated description"
kanban board update < BOARD_I D > --card-prefix "NEWPREFIX"
kanban board update < BOARD_I D > --sprint-prefix "SPRINT"
Delete Board
kanban board delete < BOARD_I D >
Card Operations
List Cards
# All cards in a board
kanban card list --board-id < BOARD_I D >
# Cards in a specific column
kanban card list --column-id < COLUMN_I D >
# Cards in a sprint
kanban card list --sprint-id < SPRINT_I D >
# Archived cards
kanban card list --board-id < BOARD_I D > --archived
# Filter by status
kanban card list --board-id < BOARD_I D > --status done
Create Card
kanban card create \
--board-id < BOARD_I D > \
--column-id < COLUMN_I D > \
--title "New task"
kanban card create \
--board-id < BOARD_I D > \
--column-id < COLUMN_I D > \
--title "New task" \
--description "Task description" \
--priority high \
--points 3 \
--due-date "2024-12-31"
Get Card
kanban card get < CARD_I D >
Update Card
kanban card update < CARD_I D > --title "Updated title"
kanban card update < CARD_I D > --status done
kanban card update < CARD_I D > --priority high
kanban card update < CARD_I D > --points 5
kanban card update < CARD_I D > --due-date "2024-12-31"
kanban card update < CARD_I D > --clear-due-date
Move Card
kanban card move < CARD_I D > --column-id < COLUMN_I D >
kanban card move < CARD_I D > --column-id < COLUMN_I D > --position 0
Archive and Restore
# Archive a card
kanban card archive < CARD_I D >
# Restore to original column
kanban card restore < CARD_I D >
# Restore to specific column
kanban card restore < CARD_I D > --column-id < COLUMN_I D >
# Permanently delete
kanban card delete < CARD_I D >
Sprint Assignment
# Assign card to sprint
kanban card assign-sprint < CARD_I D > --sprint-id < SPRINT_I D >
# Unassign from sprint
kanban card unassign-sprint < CARD_I D >
Git Integration
# Get branch name
kanban card branch-name < CARD_I D >
# Output: "feature/PROJ-123/task-title"
# Get git checkout command
kanban card git-checkout < CARD_I D >
# Output: "git checkout -b feature/PROJ-123/task-title"
Bulk Operations
# Archive multiple cards
kanban card bulk-archive --ids < ID 1> , < ID 2> , < ID 3>
# Move multiple cards
kanban card bulk-move --ids < ID 1> , < ID 2> --column-id < COLUMN_I D >
# Assign multiple cards to sprint
kanban card bulk-assign-sprint --ids < ID 1> , < ID 2> --sprint-id < SPRINT_I D >
Column Operations
List Columns
kanban column list --board-id < BOARD_I D >
Create Column
kanban column create --board-id < BOARD_I D > --name "Review"
kanban column create --board-id < BOARD_I D > --name "Review" --position 2
Update Column
kanban column update < COLUMN_I D > --name "In Review"
kanban column update < COLUMN_I D > --wip-limit 5
kanban column update < COLUMN_I D > --clear-wip-limit
Reorder Column
kanban column reorder < COLUMN_I D > --position 1
Delete Column
kanban column delete < COLUMN_I D >
Sprint Operations
List Sprints
kanban sprint list --board-id < BOARD_I D >
Create Sprint
kanban sprint create --board-id < BOARD_I D >
kanban sprint create --board-id < BOARD_I D > --prefix "SPRINT" --name "Q1 2024"
Update Sprint
kanban sprint update < SPRINT_I D > --name "Sprint 1"
kanban sprint update < SPRINT_I D > --prefix "S1"
kanban sprint update < SPRINT_I D > --card-prefix "S1"
kanban sprint update < SPRINT_I D > --start-date "2024-01-01" --end-date "2024-01-14"
kanban sprint update < SPRINT_I D > --clear-start-date
Activate Sprint
kanban sprint activate < SPRINT_I D >
kanban sprint activate < SPRINT_I D > --duration-days 14
Complete Sprint
kanban sprint complete < SPRINT_I D >
Cancel Sprint
kanban sprint cancel < SPRINT_I D >
Delete Sprint
kanban sprint delete < SPRINT_I D >
Export and Import
Export Board
kanban export --board-id < BOARD_I D > > board.json
Export All Boards
kanban export > all-boards.json
Import Board
kanban import --file board.json
Shell Completions
Generate shell completion scripts:
# Bash
kanban completions bash > ~/.local/share/bash-completion/completions/kanban
# Zsh
kanban completions zsh > ~/.zsh/completions/_kanban
# Fish
kanban completions fish > ~/.config/fish/completions/kanban.fish
# PowerShell
kanban completions powershell > kanban.ps1
Scripting Examples
Create a Board with Cards
#!/bin/bash
export KANBAN_FILE = project . json
# Create board
BOARD_ID = $( kanban board create --name "My Project" | jq -r '.id' )
# Get default columns
TODO_ID = $( kanban column list --board-id " $BOARD_ID " | jq -r '.[] | select(.name=="Todo") | .id' )
# Create cards
kanban card create --board-id " $BOARD_ID " --column-id " $TODO_ID " --title "Task 1"
kanban card create --board-id " $BOARD_ID " --column-id " $TODO_ID " --title "Task 2" --priority high
kanban card create --board-id " $BOARD_ID " --column-id " $TODO_ID " --title "Task 3" --points 5
echo "Board created with ID: $BOARD_ID "
Generate Sprint Report
#!/bin/bash
export KANBAN_FILE = project . json
SPRINT_ID = " $1 "
# Get sprint cards
CARDS = $( kanban card list --sprint-id " $SPRINT_ID " )
# Calculate statistics
TOTAL = $( echo " $CARDS " | jq 'length' )
COMPLETED = $( echo " $CARDS " | jq '[.[] | select(.status=="done")] | length' )
TOTAL_POINTS = $( echo " $CARDS " | jq '[.[] | .points // 0] | add' )
COMPLETED_POINTS = $( echo " $CARDS " | jq '[.[] | select(.status=="done") | .points // 0] | add' )
echo "Sprint Report:"
echo " Total Cards: $TOTAL "
echo " Completed: $COMPLETED "
echo " Total Points: $TOTAL_POINTS "
echo " Completed Points: $COMPLETED_POINTS "
Move All High Priority Cards
#!/bin/bash
export KANBAN_FILE = project . json
BOARD_ID = " $1 "
TARGET_COLUMN_ID = " $2 "
# Get all high priority cards
CARD_IDS = $( kanban card list --board-id " $BOARD_ID " | \
jq -r '.[] | select(.priority=="high") | .id' )
# Move them
for CARD_ID in $CARD_IDS ; do
kanban card move " $CARD_ID " --column-id " $TARGET_COLUMN_ID "
echo "Moved card $CARD_ID "
done
Daily Standup Report
#!/bin/bash
export KANBAN_FILE = project . json
BOARD_ID = " $1 "
echo "=== Daily Standup Report ==="
echo ""
echo "In Progress:"
kanban card list --board-id " $BOARD_ID " --status in_progress | \
jq -r '.[] | " - " + .title +" (" + (.priority // "none") + ")"'
echo ""
echo "Blocked:"
kanban card list --board-id " $BOARD_ID " --status blocked | \
jq -r '.[] | " - " + .title'
echo ""
echo "Completed Today:"
kanban card list --board-id " $BOARD_ID " --status done | \
jq --arg today "$( date +%Y-%m-%d)" -r \
'.[] | select(.updated_at | startswith($today)) | " - " + .title'
Next Steps
TUI Mode Interactive terminal interface guide
CLI Reference Detailed CLI command reference
MCP Server Model Context Protocol for LLM integration
Development Build and contribute to Kanban