Skip to main content

Kanban board for managing AI agent sessions

Project description

Agentic Kanban

Test status Deploy Status Go Reference PyPI

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.

Install

python:

uv tool install agentic-kanban

This will install the binary to ~/.local/bin/kanban.

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/.local/share/kanban:$HOME/.local/share/kanban \
  -v $SOURCE:$SOURCE \
  -e HOME=$HOME \
  -e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \
  -e KANBAN_DATA_DIR=$HOME/.local/share/kanban \
  -e GH_TOKEN=$(gh auth token) \
  lahmanja/kanban:latest

TIP: Set DOCKER_SOCK_PATH in your shell for rootless Docker support.

github:

Prebuilt packages are available from Github Releases.

Build

docker bake

Configuration

Kanban reads two TOML files and merges them, with user values overriding project values per key:

  • Project: <repo>/.kanban.toml — checked into the target repo, applies to every worktree of that repo.
  • User: $XDG_CONFIG_HOME/kanban/config.toml (falling back to ~/.config/kanban/config.toml) — your personal overrides across all repos.

Either file may be absent. Both accept the same schema:

[harness]
id = "claude-code"            # default harness for new sessions

[sync]
allow_rebase = true            # offer "rebase onto base" in the sync menu
allow_merge  = true            # offer "merge base into branch"

[merge]
allow_merge_commit = true      # which strategies appear in the merge menu
allow_squash       = true
allow_rebase       = false

[github]
auto_move     = true           # move tickets when the linked PR/issue changes state
draft_column  = "In Progress"
review_column = "In Review"
done_column   = "Done"
closed_column = "Done"

# Extra knobs layered onto the worktree's devcontainer.json at session spawn.
# `mounts` and `run_args` append to whatever the devcontainer.json declares;
# `container_env` merges with kanban values winning.
[devcontainer]
mounts   = ["type=bind,source=/tmp/ssh-agent.sock,target=/tmp/ssh-agent.sock"]
run_args = ["--cap-add=SYS_PTRACE"]

[devcontainer.container_env]
SSH_AUTH_SOCK = "/tmp/ssh-agent.sock"

# Per-task ports: associate .vscode/tasks.json labels with container ports.
# When such a task runs, kanban allocates a host port from 13000-13099 and
# runs a TCP proxy.
[[task]]
label = "Start Frontend"
container_port = 3000

[[task]]
label = "Start Backend"
container_port = 8080

[[task]] entries merge by label: a user entry with the same label replaces the project entry, and user-only labels are appended.

The user-config path can also be overridden from the CLI: kanban serve --config /path/to/config.toml (or $KANBAN_CONFIG) replaces the default $XDG_CONFIG_HOME/kanban/config.toml lookup.

API

The HTTP server (default :7474) exposes a small REST API. The endpoint most useful for scripting is ticket creation.

POST /api/boards/{id}/tickets

Path parameter {id} accepts either the numeric board id or the board slug.

Body fields:

Field Type Required Notes
title string yes
body string no Markdown ticket description.
column_id integer no Numeric column id. Wins over column if both set.
column string no Column name (case-insensitive) or numeric string. Defaults to the leftmost column when omitted.

Returns 201 with the created Ticket JSON, or 400 / 404 on validation failures. SSE subscribers on /api/boards/{id}/events receive a ticket_created event.

The server has no authentication — bind only to 127.0.0.1 (the default container mapping does this).

CLI

When kanban is installed natively (e.g. go install or a release binary on $PATH), two subcommands wrap the API for shell use:

# List boards
kanban list-boards

# Create a ticket (default column = leftmost)
kanban create-ticket --board my-board --title "Investigate flaky test"

# Pick a column, attach a body, get full JSON back
kanban create-ticket \
  --board my-board \
  --title "Wire CI" \
  --column "In Progress" \
  --body "add a workflow" \
  --json

Both commands take --server (default http://localhost:7474); the KANBAN_URL env var is used as a fallback.

MCP

The same binary can run as a Model Context Protocol server over stdio, exposing kanban tools to AI agents. The MCP server is a thin client of the HTTP API above, so kanban serve must be running.

kanban mcp --server http://localhost:7474
# or via env
KANBAN_URL=http://localhost:7474 kanban mcp

Tools:

  • create_ticket — args: board (id or slug), title, optional body, optional column (name or id, defaults to leftmost column).
  • list_boards — returns [{id, name, slug}] for discovery.

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "kanban": {
      "command": "/path/to/kanban",
      "args": ["mcp", "--server", "http://localhost:7474"]
    }
  }
}

Claude Code

claude mcp add kanban -- /path/to/kanban mcp --server http://localhost:7474

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

agentic_kanban-0.1.8-py3-none-win_arm64.whl (7.1 MB view details)

Uploaded Python 3Windows ARM64

agentic_kanban-0.1.8-py3-none-win_amd64.whl (7.7 MB view details)

Uploaded Python 3Windows x86-64

agentic_kanban-0.1.8-py3-none-manylinux_2_17_x86_64.whl (7.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

agentic_kanban-0.1.8-py3-none-manylinux_2_17_aarch64.whl (7.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

agentic_kanban-0.1.8-py3-none-macosx_11_0_arm64.whl (7.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

agentic_kanban-0.1.8-py3-none-macosx_10_12_x86_64.whl (7.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

agentic_kanban-0.1.8-py3-none-any.whl (7.6 MB view details)

Uploaded Python 3

File details

Details for the file agentic_kanban-0.1.8-py3-none-win_arm64.whl.

File metadata

  • Download URL: agentic_kanban-0.1.8-py3-none-win_arm64.whl
  • Upload date:
  • Size: 7.1 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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

Hashes for agentic_kanban-0.1.8-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 1327421ef224cea071142d1cf6837cab13b065cc89f56b980b7ea86ab4c2304f
MD5 1fc36fdaa6e6bce0e03ec9e4b9230b69
BLAKE2b-256 a89722c1d14b4ac37b0e2a6bcdaebc5054451952669648b70ba4491b1216fbb1

See more details on using hashes here.

File details

Details for the file agentic_kanban-0.1.8-py3-none-win_amd64.whl.

File metadata

  • Download URL: agentic_kanban-0.1.8-py3-none-win_amd64.whl
  • Upload date:
  • Size: 7.7 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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

Hashes for agentic_kanban-0.1.8-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 04cc177ba812900d0bf1d99c7796c2a3f1f87c5e28b657c5b359e7a1f65439ef
MD5 0c2d587213bcc76f762a22be2609803a
BLAKE2b-256 421e367c24edc131e16d3681d24ec9147d7e264a41eb11b69f191cd57e812834

See more details on using hashes here.

File details

Details for the file agentic_kanban-0.1.8-py3-none-manylinux_2_17_x86_64.whl.

File metadata

  • Download URL: agentic_kanban-0.1.8-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 7.6 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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

Hashes for agentic_kanban-0.1.8-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 177abc590d696f0318e6faac5399ff2767e939043196827ce5955c5b82a3f404
MD5 7f2357c71e1d2ab1deaaa082e8cc1cf8
BLAKE2b-256 4d6e7a909e5085e4ebabb4013fbfcf93ddf1b43ed7e83a148ffa40fe7074ae08

See more details on using hashes here.

File details

Details for the file agentic_kanban-0.1.8-py3-none-manylinux_2_17_aarch64.whl.

File metadata

  • Download URL: agentic_kanban-0.1.8-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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

Hashes for agentic_kanban-0.1.8-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 8bb1b9eb0fc8147f85e7331b39f5d37ce23bbc5bd2d730fcd2eac087b25e685f
MD5 c9abe29c1b370aa616ff6aeb1c24b588
BLAKE2b-256 f905d83385457e0655cd1762b39612167115c7359ba69ca6f2c6c8b77848c6de

See more details on using hashes here.

File details

Details for the file agentic_kanban-0.1.8-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: agentic_kanban-0.1.8-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 7.3 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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

Hashes for agentic_kanban-0.1.8-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be07d77131cb203894f62181fc0b59a028d28c049cfee7fbe2a6530c6c400039
MD5 2c9c134dde0c66230a80fdc4c1261c77
BLAKE2b-256 82742d5fffe0ddc30e028ee8cb5f2b3f637cb2348e12cbb09399818de4dbd886

See more details on using hashes here.

File details

Details for the file agentic_kanban-0.1.8-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: agentic_kanban-0.1.8-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 7.7 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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

Hashes for agentic_kanban-0.1.8-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 54c0f0630eb1383adde1828ff98faa42db23a246bda31dc260ce822863efd768
MD5 812271e7ff7d4be3b86eeebeb71ecec9
BLAKE2b-256 58c8e504a730122afd00c069730f4e278d45ddf3bea8e4fbdea1c6a1e3f164cb

See more details on using hashes here.

File details

Details for the file agentic_kanban-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: agentic_kanban-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 7.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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

Hashes for agentic_kanban-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 2be84c47fb5f4b7ce57a6685e9380ae30c46eee90fa02a6cbd615e125c0b89a8
MD5 9d1604f70bab46beb8f0feea7f560266
BLAKE2b-256 8bf6516f42301d9c9186f4a2021b76d937ff8020e58e5263f12a03fb923d576a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page