A kanban board that lives in your repository.
Kan is a kanban board stored as plain files in your repo.
Run kan serve to open the web UI, or use the CLI for quick updates.
Since it's just files, your board is version-controlled alongside your code and visible to anyone with access to the repo.
kan init
kan serveThat's it. Your board opens in the browser.
Full documentation is available at amterp.github.io/kan, or run kan serve and visit /docs.
Most users just need kan init and kan serve. The web UI handles everything else.
For scripting or automation (CI, AI agents, etc.), Kan has a full CLI:
kan add "Fix login bug" # Add a card
kan edit fix-login-bug -c done # Move to column
kan list # List all cards
kan show fix-login-bug # View card detailsKan works great for solo developers and small teams juggling multiple projects. Every project gets its own board that lives in the repo - open the project, run kan serve, and you're right where you left off.
- Local and fast. No network calls, no loading spinners. Just files on disk.
- Self-contained. No accounts, no syncing, no external services to manage.
- Version-controlled. Your board history is your Git history.
brew tap amterp/tap
brew install kango install github.com/amterp/kan/cmd/kan@latestKan stores data in a .kan/ directory:
.kan/
boards/
main/
config.toml # Board settings, columns, labels
cards/
k7xQ2m.json # One file per card
Cards are JSON. Board config is TOML. Version control tracks changes like any other file.
Kan is usable and actively developed. Core features are solid - boards, cards, columns, custom fields, comments, drag-and-drop, and a full CLI. Still to come: card relationships and other refinements.
