---
name: kanban_cpp
lang: cpp
domain: tools
version: 0.2.0
description: "Kanban C++ v2 — gestor de dev/issues y dev/flows del registry. Board drag-drop, edicion bidireccional de frontmatter MD"
tags: [imgui, kanban, dev_ux, issues, flows]
icon:
  phosphor: "kanban"
  accent: "#a855f7"
uses_functions:
  - http_request_cpp_core
  - sse_client_cpp_core
uses_types: []
framework: "imgui"
entry_point: "main.cpp"
dir_path: "apps/kanban_cpp"
repo_url: "https://gitea.organic-machine.com/dataforge/kanban_cpp"
e2e_checks:
  - id: backend_build
    cmd: "cd apps/kanban_cpp/backend && CGO_ENABLED=1 go build -o kanban_cpp_backend ."
    timeout_s: 180
  - id: backend_tests
    cmd: "cd apps/kanban_cpp/backend && CGO_ENABLED=1 go test -count=1 ./..."
    timeout_s: 60
  - id: build
    cmd: "cmake --build cpp/build/linux --target kanban_cpp -j"
    timeout_s: 300
  - id: self_test
    cmd: "./cpp/build/linux/apps/kanban_cpp/kanban_cpp --self-test"
    timeout_s: 30
---

# kanban_cpp

Kanban C++ v2 para gestionar `dev/issues/` y `dev/flows/` del registry. Frontend ImGui sobre `fn::run_app`, backend Go local en `backend/` que parsea los `.md` a SQLite y expone REST + SSE.

## Build

```bash
# Backend
cd apps/kanban_cpp/backend && CGO_ENABLED=1 go build -o kanban_cpp_backend .

# Frontend
cmake --build cpp/build/linux --target kanban_cpp -j
```

## Run

```bash
# Terminal 1: backend
apps/kanban_cpp/backend/kanban_cpp_backend --port 8487 --registry $PWD

# Terminal 2: frontend
./cpp/build/linux/apps/kanban_cpp/kanban_cpp
```

Por defecto el frontend apunta a `http://127.0.0.1:8487`. Cambiar con `--backend http://host:port`.

## Self-test

`./kanban_cpp --self-test` — smoke headless (state singleton, filtros, HTTP wrapper sin backend).

## Paneles

1. **Board** — 4 columnas (pendiente / in-progress / bloqueado / completado). Drag-drop entre columnas reescribe el `.md` correspondiente via PATCH al backend.
2. **Flows** — tabla de flows. Click para detalle.
3. **Filters** — sidebar multi-select de priority / scope / domain / tag + include_completed.
4. **Detail** — combos para status/priority/scope + CSV editors para tags/domain/depends/blocks. Body MD read-only.

## Anti-scope (issue 0130)

- Sin grafo de dependencias.
- Sin edicion del body MD (solo frontmatter).
- Sin crear issues nuevos.
- Sin DoD panel / agent runs / worktrees.
