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.6-py3-none-win_arm64.whl (7.1 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

agentic_kanban-0.1.6-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.6-py3-none-manylinux_2_17_aarch64.whl (7.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.6-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.6-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 d13da20d9590ca69564905639eddb39469dde209810132fbacbea9ef5380a95c
MD5 c67cc80fefd560abc4ba95555700de8f
BLAKE2b-256 00f40b62d6004933de3131a6cbdf85d00d06dd4d39f9df09afc98549bd62d1f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.6-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.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 26370c7b9b57d9610eab34c068b8ce6f0c9c44e15400acd50a95fa871d863643
MD5 4ca6b1413588be5734c8ffe154fe35bf
BLAKE2b-256 6264d71286b9fec6acdf5d4d1e59d824b47e4cae2069dfa03996128890320bfa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.6-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.6-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e1282d59123f442022665cbc5cfb542384d6179419edabe2197b70942a45bd10
MD5 1d84e49c6ac926d8931cd0ba160b8905
BLAKE2b-256 507c52bfbef30c0792c40958da14d4ac00254f5e66bcba623fed69bc931e8eed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.6-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.6-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 b2e16f3bfb594a3ba192849bd79844163b51c8cbe02b7572e70ec8d62d38536e
MD5 215767c71b2345eaa1de9c8c66c05eab
BLAKE2b-256 dd25865c51961140f2f19b11fa63c3c65b6d03535d1779b34532742e0d1d0caa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.6-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.6-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f3bcb8765abfcef8ec3b2656faa7a5633b0a29a16ca19ce59904eebdc9117b5
MD5 9e6400e0a7aa1fbb5e2302de6ed71b06
BLAKE2b-256 65603cf10f31e1a0d9b3e6c062133b81dc08d6797a3ffcec0eace6e9355f5142

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.6-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.6-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ac31d4b82cb6178523b4b8b5f686901ad2cc3818a22eda257233a9e35eb8ca30
MD5 74697df3df23f18ffe319867ab0730b9
BLAKE2b-256 66c0ad214f75a7b4e83d07341ba3ed5ecafcd470f61a5b031d520bf3a82e53fe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1231bd071df3ab8614bcab14dedbd31a2b4cb57fe3ab965c6a86083ece89e11d
MD5 0ebe0e2a3460228f0c5ddad33a8a62af
BLAKE2b-256 45bfe64cf9f49aab68d1dc6ddc6e27a02e2e0882fdba857081236d86622f6abc

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