In a previous post I described how you can implement a Kanban board with Task Warrior. To make life a bit easier when using the flow, especially moving between the stages, I made a wrapper script around Task Warrior, which I called kanban-warrior It accepts simple commands (in the style of Task Warrior :-) ), to add and move around tasks in the different stages. It also gives an error message when you try to move a task to the wrong stage. It can also generate reports of the different stages. Since kanban-warrior provides just some convenient shortcuts to implement the flow (if you look at the code, you will see that it actually executes TW commands), you can just use it in combination with other TW commands (and equally fuck up things :-) )
I released version 1.0 and you can get it here. It is one of my first projects in Python, so forgive me if the coding style is not according to Python standards. Please contact me if you have comments, encounter bugs, have suggestions for new features, or even if you want to contribute.
A basic usage example
Add a task to the backlog
1
2
3
./kanban-warrior addtobacklog "Starship:propulsion" "Add static warpfield converter"
Created task 3.
The project 'Starship:propulsion' has changed. Project 'Starship:propulsion' is 0% complete (1 of 1 tasks remaining)</pre>
Display the backlog
1
2
3
4
./kanban-warrior.py list backlog Starship
ID Project Pri Added Started Due Recur Countdown Age Deps Tags Description
3 Starship:propulsion - 14-3-2013 20:59 - 2m backlog Add static warpfield converter
1 task
Move a task from the backlog to the Work In Progress Queue and start it immediately
1
2
3
4
5
6
7
8
9
10
./kanban-warrior start 3
Loading task list..
Modifying task 3 'Add static warpfield converter'.
Modified 1 task.
Project 'Starship:propulsion' is 0% complete (1 of 1 tasks remaining).
Starting task 3 'Add static warpfield converter'.
Started 1 task.
Project 'Starship:propulsion' is 0% complete (1 of 1 tasks remaining).
Set a task on hold
1
2
3
4
5
6
7
8
9
10
11
12
13
14
./kanban-warrior.py hold 3 "Fucked up"
Loading task list..
Stopping task 3 'Add static warpfield converter'.
Stopped 1 task.
Project 'Starship:propulsion' is 0% complete (1 of 1 tasks remaining).
Modifying task 3 'Add static warpfield converter'.
Modified 1 task.
Project 'Starship:propulsion' is 0% complete (1 of 1 tasks remaining).
Annotating task 3 'Add static warpfield converter'.
Annotated 1 task.
Project 'Starship:propulsion' is 0% complete (1 of 1 tasks remaining).
Invalid move
1
2
3
./kanban-warrior.py finish 3
Loading task list..
Error: Task must be in progress
You can’t move a task in the ‘on hold’ stage directly to the ‘done’ stage, it has to go through the ‘in progress’ stage first.
Note: The ‘3’ in the commands above is the TW task id, which you can retrieve by just generating a TW report (either with or without kanban-warrior)
More information about the supported commands can be found in the README file and there is also a short help screen when executing kanban-warrior -h