Kanban board for managing AI agent sessions
Project description
Agentic Kanban
A kanban board for managing AI agent sessions.
Each ticket is bound to an agent session (Claude Code, pi.dev) running inside its own git worktree, executed in the target repository's existing devcontainer. The active harness is selected globally in the app's settings.
Features
Agent sessions
- Every ticket runs an AI agent in its own git worktree, inside a Docker container — no contention, no rebasing pain.
- Reuses the target repo's
.devcontainer/devcontainer.json, or falls back to a bundled Ubuntu devcontainer (git, gh, node, Go) so any repo works with zero setup. - Pluggable harnesses (Claude Code, pi.dev), switchable globally in settings.
- Drive the agent from a full terminal in the browser, plus a second plain shell — both backed by a WASM terminal emulator.
- Claude Code conversations resume automatically across container and server restarts.
Boards & tickets
- Kanban boards tied to a git repo, with configurable columns and drag-and-drop tickets with markdown bodies.
- Sync (rebase/merge from base) and merge (merge-commit / squash / rebase) straight from the ticket panel.
- Optional AI-generated merge commit messages and per-board commit identity.
- Archive, unarchive, and delete tickets; archived drawer with bulk actions.
- Multi-board overview with tiling, resizable session panels for working several tickets at once.
Diff, tasks & ports
- Built-in diff viewer with a changed-files tree, syntax highlighting, whole-file view, and expandable context.
- Tasks tab discovers
.vscode/tasks.jsontasks, runs them, streams live output, and stops them. - Per-task port forwarding proxies in-container dev servers to host ports
13000–13099and surfaces them on the ticket. - Plans tab renders the
.mdplans the agent writes (e.g. Claude Code's/planmode).
GitHub integration
- Auto-moves tickets when their linked PR or issue changes state, with configurable column mappings.
- Live PR detail: diff totals, rolled-up review decision, and CI check status.
- Build Cop polls GitHub Actions and files tickets for jobs whose failure rate crosses a threshold, on its own auto-managed board (
Failing/Investigating/Fixed/Won't fix).
Interfaces & ops
- Web UI with light / dark / high-contrast themes, accent colors, and remappable keyboard shortcuts.
- REST API with Server-Sent Events for live updates, an MCP server for Claude Desktop / Claude Code, and noun-verb CLI subcommands.
- Ships as a single self-contained ~20 MB Go binary — also distributed as a Docker image and a PyPI wrapper — backed by local SQLite.
- Prometheus
/metricsand a/healthendpoint; project + user.kanban.tomlconfig that merge.
Install
uv tool install agentic-kanban
This installs the binary to ~/.local/bin/kanban.
Make sure to have that on your PATH.
Run
kanban serve
The server listens on :7474. Open http://localhost:7474/.
Or with Docker:
SOURCE=$HOME/code
docker run -d --name kanban \
--restart unless-stopped \
-p 127.0.0.1:7474:7474 \
-p 13000-13099:13000-13099 \
-v ${DOCKER_SOCK_PATH:-/var/run/docker.sock}:/var/run/docker.sock \
-v $HOME/.claude:$HOME/.claude \
-v $HOME/.claude.json:$HOME/.claude.json \
-v $HOME/.local/share/kanban:$HOME/.local/share/kanban \
-v $HOME/.gitconfig:$HOME/.gitconfig:ro \
-v $HOME/.config/git:$HOME/.config/git:ro \
-v $SOURCE:$SOURCE \
-e HOME=$HOME \
-e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \
-e KANBAN_DATA_DIR=$HOME/.local/share/kanban \
-e KANBAN_HOST_DOCKER_SOCK=${DOCKER_SOCK_PATH:-/var/run/docker.sock} \
-e GH_TOKEN=$(gh auth token) \
lahmanja/kanban:latest
📖 Documentation
Full documentation lives at https://jmelahman.github.io/agentic-kanban/:
- Quickstart — your first board and ticket in five minutes.
- Configuration —
.kanban.tomlschema and merge rules. - REST API — endpoints exposed by the running server.
- CLI —
serve,mcp,board list,ticket create. - MCP — Claude Desktop / Claude Code integration.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentic_kanban-1.1.3-py3-none-win_arm64.whl.
File metadata
- Download URL: agentic_kanban-1.1.3-py3-none-win_arm64.whl
- Upload date:
- Size: 12.5 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5fa2e4874d60798f6dd75a971c7f930071581b85dc7cd1a7ca38b54ccac27a0
|
|
| MD5 |
959a7bc663123854b9fa19a0d264659b
|
|
| BLAKE2b-256 |
09791525982be7ae8739b6827b9b767f37aacc39b2bc084bd98f5555b14f3cba
|
File details
Details for the file agentic_kanban-1.1.3-py3-none-win_amd64.whl.
File metadata
- Download URL: agentic_kanban-1.1.3-py3-none-win_amd64.whl
- Upload date:
- Size: 13.3 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f69a6ab1e9ecbf4b613a9f42f332aa9f25ac4722b380ea1efcdd9f003f0b80aa
|
|
| MD5 |
886d8e72ea37604887ba0a3d91413a5e
|
|
| BLAKE2b-256 |
a34def62c2d35dae9d7fe3edc6f11d44c06e520b8830e5369c072539c257af11
|
File details
Details for the file agentic_kanban-1.1.3-py3-none-manylinux_2_17_x86_64.whl.
File metadata
- Download URL: agentic_kanban-1.1.3-py3-none-manylinux_2_17_x86_64.whl
- Upload date:
- Size: 13.2 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e1bec8e55a8be97a3a31fae14c877053872a34e5ad78ee94db32e00614114de
|
|
| MD5 |
c1f85ee8135d60cce4d2b0a296352820
|
|
| BLAKE2b-256 |
435ac4205d1a03e009df86fb888292911a97a4291265972e48fa8e4fdd26d022
|
File details
Details for the file agentic_kanban-1.1.3-py3-none-manylinux_2_17_aarch64.whl.
File metadata
- Download URL: agentic_kanban-1.1.3-py3-none-manylinux_2_17_aarch64.whl
- Upload date:
- Size: 12.4 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b057b3fe76540b572b8be98b66b4bff23aaaa0b5c9de5c21d84197b7a2ed1fe6
|
|
| MD5 |
ced263088c59ee9535224dfc527b1285
|
|
| BLAKE2b-256 |
69fcbce478c1aef24fcfb04fa52f4b3f8b6f90ba3cafe0059ada1d318f0269b6
|
File details
Details for the file agentic_kanban-1.1.3-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: agentic_kanban-1.1.3-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 12.9 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0cad6f1b0210038b12124f9301e0f0088195e940d2a647902a848c96a6fd1e0
|
|
| MD5 |
ac2e3b4da9425ca392ea1c1fa239b3cb
|
|
| BLAKE2b-256 |
add8294fb3e9b8c28c143ccff91730ce1492722eedcf8707903dab0c06c70b6d
|
File details
Details for the file agentic_kanban-1.1.3-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: agentic_kanban-1.1.3-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 13.2 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0d5f0a08042bd2b486e92eb644960d7972b9adb868b9737c43b86eb6609d18d
|
|
| MD5 |
cb55fb83c56ab7778e3bd248354ed87c
|
|
| BLAKE2b-256 |
61c6525ead8fa51d06e407f182c8d7dbf916b790c388609cf6cedc0741bdc54e
|
File details
Details for the file agentic_kanban-1.1.3-py3-none-any.whl.
File metadata
- Download URL: agentic_kanban-1.1.3-py3-none-any.whl
- Upload date:
- Size: 13.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
843c6a91bd5152c88269ac0e4cd52a072dfece96d9f7aa27584a10b4207fe580
|
|
| MD5 |
e9291e7377e904700ba5d52719334b89
|
|
| BLAKE2b-256 |
322984edb9b2b89664f2cea5240c92f1cd2f262ec4993fb51500a667efe7e221
|