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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.0-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.9 {"installer":{"name":"uv","version":"0.11.9","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.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 ac9be60eca4f9333246da4d073df1fb4d0e43dcb2054209b48ba84a63f530f73
MD5 d5bb3275269b795f9aa17d99fc5094c1
BLAKE2b-256 c19f6f222bfd83732427a11315ca0e8fb8d61cbc8b41d6befe6173e4eb13cf65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.0-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.9 {"installer":{"name":"uv","version":"0.11.9","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.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e7aa95c354204d2f7be298087e580d6cbaea84815a7aad1ed9fc364a82c48641
MD5 2c56c9582a63bdc8667ec2afc0975b95
BLAKE2b-256 a51e7401c74f76d1dfbb77c422d70c2601b057898b5c7358ccdca86a4346130c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.0-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.9 {"installer":{"name":"uv","version":"0.11.9","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.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1bbcf97dbae4dd9b060ed6276ffd144aedb3efbddca46b95939e37fc45fd301e
MD5 a3fdd7346b4ef5f0f8628d7531a99931
BLAKE2b-256 5b53a82d964386a0400df32d3aea627794403635c8d793d488c05e7ab1418535

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.0-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.9 {"installer":{"name":"uv","version":"0.11.9","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.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 225631eff724cae728bbdf6e9e676d3ababe3f54fdad0c6271e92648a76034dc
MD5 64e530214bd1d0129abb680df0b2ed40
BLAKE2b-256 cdc85d1b4d64845c87178bd66aa4e199f9bafc363870049832d76b3dbc94b940

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.0-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.9 {"installer":{"name":"uv","version":"0.11.9","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.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5b33444c678ffb894a5c2431f139ac176c565ac0ad6e7144f4d80d7720a3fc98
MD5 00b8dd1cf7a8b6119ac16600dfec9b6c
BLAKE2b-256 448ebe3963fafa7c7190ce921843d63469078fd9e6a180d6aeea2d7dae55e360

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.0-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.9 {"installer":{"name":"uv","version":"0.11.9","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.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 76ae4c41e45121fb60fa41216d19a32562d869d1bcb46a3c8a7cd6963ef5a15b
MD5 7d5a384483e4e0e66d767bb7653bb8a3
BLAKE2b-256 36c68c2d3ea7e43ff61eb30e351980dfb21540d2ebabc656c46a61f65d8d2b78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentic_kanban-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b484529e2f54ddaa170fbdd04af8d1fcc7ecbec338df2ccf25e082f718a9152f
MD5 87505ffd6b5c24c8ff52e5506ee64c6a
BLAKE2b-256 7f56aeca3d856b89479d30385f5a756263b03fd369cb9383c208feefad3e9a3f

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