Kanbalone is a small local kanban app optimized for individuals who develop together with AI.
Turn remote issues into a local execution workspace for implementation with AI.
You can start it quickly with Docker and use it right away. In addition to a browser-based web UI for humans, it also provides a JSON API that is easy for scripts and AI agents to use.
Import issues from systems such as GitHub Issues, GitLab, and Redmine into Kanbalone, build out a local implementation body, and keep progress in comments. The remote tracker stays the source of truth while Kanbalone becomes the execution workspace for an individual developer and their AI agents.
- Optimized for one person and one machine working with AI, without user or permission management.
- All data is stored locally.
- Import remote issues from GitHub, GitLab, or Redmine and work on them as local execution tickets.
- Multiple boards for different work categories.
- Tags, comments, and ticket dependencies: blockers and parent/child tickets.
- Keep remote title and body as reference while building a richer local implementation body.
- Push only selected comments back to the remote issue to keep work logs simple.
- Lightweight JSON API designed for automation and AI agents.
- Create the first board and start managing tasks immediately without extra setup.
Run the published Docker image:
docker run --rm \
-p 3000:3000 \
-v kanbalone-data:/app/data \
ghcr.io/wamukat/kanbalone:v0.9.35Open:
http://127.0.0.1:3000
User guide:
https://wamukat.github.io/kanbalone/
Use ghcr.io/wamukat/kanbalone:latest when you want the newest released image instead of a pinned version.
Run the published image with Compose:
docker compose -f docker-compose.image.yml upChange the host port:
KANBAN_PORT=3457 docker compose -f docker-compose.image.yml upThe app stores its SQLite database at:
/app/data/kanbalone.sqlite
The provided Compose file uses a Docker named volume, kanbalone-data, for persistence.
On Windows, use Docker Desktop or Rancher Desktop with WSL2 and keep the named volume setup.
Kanbalone does not include authentication. Do not expose it directly to untrusted networks.
pnpm install
pnpm devDefault URL:
http://127.0.0.1:3000
Remote provider sandbox for GitLab and Redmine:
docker compose -f docker-compose.remote-providers.yml up -d
pnpm sandbox:remote-providersKanbalone shows the remote issue import action only when at least one remote provider credential is configured. The import panel lists configured providers only.
Kanbalone includes a Codex skill for API-only kanban operations:
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
cp -R skills/kanbalone-api "${CODEX_HOME:-$HOME/.codex}/skills/"When you use only the Docker image, fetch the skill from the matching GitHub release tag to the host running Codex:
tmpdir=$(mktemp -d)
curl -L https://github.com/wamukat/kanbalone/archive/refs/tags/v0.9.35.tar.gz \
| tar -xz -C "$tmpdir" kanbalone-0.9.35/skills/kanbalone-api
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
cp -R "$tmpdir"/kanbalone-0.9.35/skills/kanbalone-api "${CODEX_HOME:-$HOME/.codex}/skills/"
rm -rf "$tmpdir"The skill runs from the host and talks to the Kanbalone HTTP API, for example http://127.0.0.1:3000.
Published user guide:
For users and API clients:
For developers and maintainers:
- Development
- Remote provider sandbox
- Docker image distribution
- Release process
- Performance tooling
- Dialog button policy
- Design system
- Node.js 22
- Fastify
- SQLite via
better-sqlite3 - TypeScript
- Vanilla HTML/CSS/JavaScript
- Lucide-style SVG icons



