Skip to main content

Kanban board for managing AI agent sessions

Project description

Agentic Kanban

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

Uploaded Python 3Windows ARM64

agentic_kanban-0.0.5-py3-none-win_amd64.whl (7.6 MB view details)

Uploaded Python 3Windows x86-64

agentic_kanban-0.0.5-py3-none-manylinux_2_17_x86_64.whl (7.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

agentic_kanban-0.0.5-py3-none-manylinux_2_17_aarch64.whl (6.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

agentic_kanban-0.0.5-py3-none-macosx_11_0_arm64.whl (7.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

agentic_kanban-0.0.5-py3-none-macosx_10_12_x86_64.whl (7.6 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

agentic_kanban-0.0.5-py3-none-any.whl (7.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agentic_kanban-0.0.5-py3-none-win_arm64.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.0.5-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 bb57f7f16d2c99b850fc8bfa56de9e1ee364dc56b5b55c7fe4b397abb03cec7a
MD5 b555a9001b27926a11be316b3b025ec4
BLAKE2b-256 c446b57f93b8ee0fd8cb3934794fea1f0f941191eda675bde5f155a5fb26f459

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.0.5-py3-none-win_amd64.whl
  • Upload date:
  • Size: 7.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.0.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4d4b345da68115e138bab442a7c1bafb948a56f7496df0af1ea9a1e34055c1f8
MD5 7e29e4a9c7ea9ab72a15f2c9c5fb4ba0
BLAKE2b-256 d55814207a38864d70fc5d7447aa7f6cf4e8fc1f324169a7945236fb6f343ac7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.0.5-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 7.5 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.0.5-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4803bfa40bb729a42376d03f9c513b93d8e5018a1cdad58b89f0053fae0ba4e6
MD5 e54bea5def2c871a6bf35c73976e3467
BLAKE2b-256 32953a097730d478c7fec1129d9d37eb771fe1f45d0f6089a86acc2c251ae0d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.0.5-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.0.5-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 102c35e9e21f00865c16b3118f0d477ca24515d3a2a8f6cee5afa6c96270bea4
MD5 9c10bbc5ec25755d933813f5022a84ed
BLAKE2b-256 721e4898e08ae8464ca92c09783b3661ed5959ae67c148ebb6292329094a513e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.0.5-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 7.2 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.0.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f6c31cac4c0ff05530a66418c60bde568b9fe1fe9eec6e4c6c78713d1b48e841
MD5 1e345b40e0c64ecf9c8c85115278400e
BLAKE2b-256 8b6aa6d56f9f4567e5156dc8571ef265d89b4f3597c0f721c419978650006d81

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.0.5-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 7.6 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.0.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0e2ed198558b98c9510f7c1f64a533b779ebea98c05eb7b4960d5366e00ef879
MD5 54c7ce0aef6436b34f135e3874f22427
BLAKE2b-256 714b1ec1d63ecf9e66a51719ce4765809bafe009ed1bef996c90cb1e5e5ba569

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 7.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a0e96bcd78d10865e87be352653e81cb6d3f69af69acf660bf9411b0488580be
MD5 55702c561608f2a73659064793a85b1d
BLAKE2b-256 154536b43436a9cca9dcdb71683e6539ba912b37d09caa936bbe604f645f886a

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