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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.5-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.5-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 45eef8ee92b1f67983b37a81f3a624428c06d5fb8b977bfae6468befab605286
MD5 b87e7bfcc1ee6a3fa602c005c5583bcf
BLAKE2b-256 36cbe766c69b1e69f56f1bd9294b711a59634892087166ea87d2460f5b386ba8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.5-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.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 5f0aa4aa1723da4cd2d6bab9154c384ee6c1bd59aeccaa741fdafbe0b0a5f040
MD5 4b49151822fc023d9dc86193fab8dd47
BLAKE2b-256 1fc01c37e680e92cdaed3a72fa270668ff4f15a1cd71980ad4f8f22d11ed5f30

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.5-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.5-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 afc5371636fa793c55f67d322f3258b1e4ea71b57837a59ba645a583be271bd1
MD5 a6130e8509c56523e686e590d7965583
BLAKE2b-256 075f9bf68b33062c8de3bba8c994c148235b8b6c95e8b1e57cbabccc26e6c2f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.5-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.5-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 8a63f962227da2a56c4067b88c6b0d2089cadd45c38e16f5d182e2a124bd60ed
MD5 1686cfe2416acf0d39e934b9b91287a4
BLAKE2b-256 05146a748ab05662b37072b9971c181f85fc79434ed5aaeeeeed8ca9160eb0cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.5-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.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b543ca4e3188c29160cf9a7041788a30ed33d08c21001e239574561565b9a78
MD5 03e4598e626bcc4e570f9118e999bea0
BLAKE2b-256 478a0d75a496ede5cedfda99ea6cf41b83b811644fdbdf2ed2e7978ad524a20f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.5-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.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 668b4a506828bd7644ea7d1da5cf685d74a64d7551c9289937cbbf77d8f96e12
MD5 353380744c82fc974f09c4356fa23680
BLAKE2b-256 dff47b7ee1cb1474f4a44687847230e5d23feb030f7aa1e3d812bd9040cc3e7c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 155f2f088597f78fc0c1438712861e8673952b5009e370a933ab203fec3d9acd
MD5 a54e52b28c1d7dfd8b34116a36ab65f8
BLAKE2b-256 54531c4fe8dd3004b34fdf2c6b8c75843bf50bd2ef6cb6464e294041a05bf633

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