Plain-text personal kanban for solo developers. Trello for one, in a text file.
Requires Go 1.26+.
git clone <repo-url> && cd kenban
make installThis builds the binary and installs kenban (and kb shortcut) to ~/.local/bin. Make sure ~/.local/bin is in your PATH.
kb is an alias for kenban — they are interchangeable.
kenban openOpens a TUI kanban board with three sections (todo, doing, done) in a single-column layout.
| Key | Action |
|---|---|
| ↑ / ↓ | Navigate (traverses all sections) |
| → | Advance task (todo→doing→done) |
| ← | Move task back one column |
| b | Toggle #blocked tag |
| n | Add new task |
| Enter | Edit selected task (inline) |
| x | Delete selected task |
| q | Quit |
| ? | Help |
kenban add "[myproject] Stripe onboarding"
kenban add "[myproject] Fix auto-reload bug @high +payments"Tasks are created in [todo] state.
kenban list # all tasks
kenban list myproject # filter by projectkenban state doing
kenban state donekenban move 3 doing # move task 3 to doing
kenban done 3 # shortcut: move task 3 to donekenban edit 3 # opens in $EDITOR (default: vi)kenban copy 3 # copies task 3 text to clipboardUses pbcopy on macOS, xclip or xsel on Linux.
kenban projectsOne task per line in tasks.txt:
[state] [project] description @tag +label
- state:
todo,doing,done - project: any name in brackets
- description: free text, may include
@tags,+labels, or#blocked
Example:
[todo] [myproject] Stripe onboarding @high +payments
[doing] [myproject] Fix auto-reload bug
[todo] [myproject] Budget export waiting on schema #blocked
[done] [myproject] Initial billing model
kenban looks for tasks in this order:
./tasks.txt(current directory)~/.kenban/tasks.txt(home directory)
The file and directories are created automatically if they don't exist.
make build # build binary
make test # run tests
make clean # remove binary