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
Sprint commands allow you to create and manage agile sprints on your kanban boards. Sprints help organize work into time-boxed iterations with defined start and end dates.
Commands
Create a Sprint
Create a new sprint for a board:
kanban sprint create --board-id <BOARD_ID> [OPTIONS]
Optional prefix for the sprint ID (e.g., “SP” generates “SP-1”, “SP-2”).
Optional custom name for the sprint. If not provided, a name will be generated based on the prefix and number.
Examples
# Create sprint with auto-generated name
kanban sprint create --board-id 550e8400-e29b-41d4-a716-446655440000
# Create sprint with custom prefix
kanban sprint create \
--board-id 550e8400-e29b-41d4-a716-446655440000 \
--prefix "SPRINT"
# Create sprint with custom name
kanban sprint create \
--board-id 550e8400-e29b-41d4-a716-446655440000 \
--name "Q1 2024 Sprint 1"
Output
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"board_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Sprint 1",
"prefix": null,
"status": "planned",
"start_date": null,
"end_date": null,
"created_at": "2024-03-05T12:00:00Z",
"updated_at": "2024-03-05T12:00:00Z"
}
List Sprints
List all sprints for a board:
kanban sprint list --board-id <BOARD_ID>
Example
kanban sprint list --board-id 550e8400-e29b-41d4-a716-446655440000
Output
[
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"board_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Sprint 1",
"prefix": "SP",
"status": "active",
"start_date": "2024-03-01",
"end_date": "2024-03-14",
"created_at": "2024-03-05T12:00:00Z",
"updated_at": "2024-03-05T12:00:00Z"
},
{
"id": "8d0e7680-8536-41ef-a945-f17fc1f90ae8",
"board_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Sprint 2",
"prefix": "SP",
"status": "planned",
"start_date": null,
"end_date": null,
"created_at": "2024-03-05T12:00:00Z",
"updated_at": "2024-03-05T12:00:00Z"
}
]
Get a Sprint by ID
Retrieve a specific sprint:
Example
kanban sprint get 7c9e6679-7425-40de-944b-e07fc1f90ae7
Update a Sprint
Update sprint properties:
kanban sprint update <ID> [OPTIONS]
The UUID of the sprint to update.
Update the sprint prefix.
Update the prefix for cards in this sprint.
Set the start date (ISO 8601 format, e.g., “2024-03-01”).
Set the end date (ISO 8601 format).
Examples
# Update sprint name and dates
kanban sprint update 7c9e6679-7425-40de-944b-e07fc1f90ae7 \
--name "Q1 Sprint 1" \
--start-date "2024-03-01" \
--end-date "2024-03-14"
# Clear dates
kanban sprint update 7c9e6679-7425-40de-944b-e07fc1f90ae7 \
--clear-start-date \
--clear-end-date
Activate a Sprint
Start a sprint and optionally set its duration:
kanban sprint activate <ID> [--duration-days <DAYS>]
The UUID of the sprint to activate.
Duration of the sprint in days (e.g., 14 for a 2-week sprint). Sets the start date to now and calculates the end date.
Examples
# Activate sprint with 2-week duration
kanban sprint activate 7c9e6679-7425-40de-944b-e07fc1f90ae7 --duration-days 14
# Activate sprint without automatic dates
kanban sprint activate 7c9e6679-7425-40de-944b-e07fc1f90ae7
The sprint status changes to “active” and only one sprint can be active per board at a time.
Complete a Sprint
Mark a sprint as completed:
kanban sprint complete <ID>
The UUID of the sprint to complete.
Example
kanban sprint complete 7c9e6679-7425-40de-944b-e07fc1f90ae7
The sprint status changes to “completed”. Cards remain assigned to the sprint for historical tracking.
Cancel a Sprint
Cancel a sprint:
kanban sprint cancel <ID>
The UUID of the sprint to cancel.
Example
kanban sprint cancel 7c9e6679-7425-40de-944b-e07fc1f90ae7
The sprint status changes to “cancelled”.
Delete a Sprint
Permanently delete a sprint:
kanban sprint delete <ID>
The UUID of the sprint to delete.
Deleting a sprint will unassign all cards from that sprint. This action is irreversible.
Example
kanban sprint delete 7c9e6679-7425-40de-944b-e07fc1f90ae7
Sprint Lifecycle
Sprints follow this lifecycle:
- Planned - Initial state after creation
- Active - Sprint is in progress (activated)
- Completed - Sprint finished successfully
- Cancelled - Sprint was terminated early
# Create sprint (status: planned)
SPRINT_ID=$(kanban sprint create --board-id $BOARD_ID | jq -r '.id')
# Activate sprint (status: active)
kanban sprint activate $SPRINT_ID --duration-days 14
# Complete sprint (status: completed)
kanban sprint complete $SPRINT_ID
Common Workflows
Start a New Sprint
# Create and activate sprint
SPRINT_ID=$(kanban sprint create \
--board-id $BOARD_ID \
--name "Sprint $(date +%Y-%m-%d)" | jq -r '.id')
kanban sprint activate $SPRINT_ID --duration-days 14
# Assign cards to sprint
kanban card list --board-id $BOARD_ID --column-id $BACKLOG_COLUMN_ID | \
jq -r '.[].id' | head -5 | \
xargs -I {} kanban card assign-sprint {} --sprint-id $SPRINT_ID
Sprint Review
# Get sprint details
kanban sprint get $SPRINT_ID
# List all cards in sprint
kanban card list --sprint-id $SPRINT_ID
# Count completed cards
COMPLETED=$(kanban card list --sprint-id $SPRINT_ID | \
jq '[.[] | select(.status == "done")] | length')
TOTAL=$(kanban card list --sprint-id $SPRINT_ID | jq 'length')
echo "Completed: $COMPLETED/$TOTAL cards"
Sprint Cleanup
# Complete the sprint
kanban sprint complete $SPRINT_ID
# Move incomplete cards back to backlog
kanban card list --sprint-id $SPRINT_ID | \
jq -r '.[] | select(.status != "done") | .id' | \
while read card_id; do
kanban card unassign-sprint $card_id
kanban card move $card_id --column-id $BACKLOG_COLUMN_ID
done
View Sprint History
# List all completed sprints
kanban sprint list --board-id $BOARD_ID | \
jq '.[] | select(.status == "completed")'
# Get velocity (average points per sprint)
kanban sprint list --board-id $BOARD_ID | \
jq -r '.[] | select(.status == "completed") | .id' | \
while read sprint_id; do
points=$(kanban card list --sprint-id $sprint_id | \
jq '[.[] | .points // 0] | add')
echo "Sprint $sprint_id: $points points"
done