Skip to content
kandown
GitHubnpm

Getting started

View raw

Quick start

From an empty project to a running board, a first task, and an agent that can pick it up.

Two minutes, four commands.

1. Initialize

cd my-project
kandown init

This creates two folders at your project root:

tasks/                # your tasks — the source of truth
├── t1.md             # one Markdown file per task
└── archive/          # archived tasks live here

.kandown/             # config + web UI + agent docs
├── kandown.json      # columns, theme, notifications, agents
├── kandown.html      # the web app, one self-contained file
├── instructions.md   # optional: your project's agent instructions
└── AGENT*.md         # agent reference, kept in sync with the CLI

It also appends a single line to your AGENTS.md / CLAUDE.md pointing agents at kandown work — one line, not a block of rules that will go stale.

Note

Tasks live at the project root rather than inside .kandown/ so that config and data stay cleanly separated. Upgrading from an older layout? The CLI moves them for you on first run.

2. Open the board

kandown

This starts a small local daemon, opens the web board in your browser and a terminal UI in your shell. Both are live views of the same files.

The daemon outlives the terminal UI on purpose — quit the TUI and your browser tab keeps working. Stop it with d in the TUI, or:

kandown daemon stop

Prefer no browser at all? kandown board gives you the terminal UI only.

3. Create a task

From the web board, press N. From the terminal UI, press n. From a script:

kandown create "Refactor auth middleware" -p P1 -t backend -a chacha

That prints the new task's id — and nothing else — on stdout, so you can capture it:

ID=$(kandown create "Add rate limiting" -p P1)
kandown move "$ID" "In progress"

The quick-add box in the UI parses the same information out of one line:

Fix login p1 #backend @chacha due:friday

4. Point an agent at it

kandown work

Everything an agent needs, as Markdown on stdout: the rules, your project instructions, a live board digest, and the next actionable task — computed as the unblocked task closest to done with the highest priority.

Wire it into an MCP-capable client instead, if you prefer:

claude mcp add kandown -- kandown mcp

Or select a task in the terminal UI and press a to launch Claude Code, Codex, Gemini CLI, Goose, Aider or OpenCode directly on it.

5. Commit

Tasks are files, so they belong in your history:

kandown commit -m "tasks: plan the auth refactor"

That stages tasks/ and .kandown/kandown.json and commits them. Plain git add works exactly as well — the command is a convenience, not a requirement.

Where to go next

Edit this page on GitHub →