--- name: kanban_cpp lang: cpp domain: tools version: 0.1.0 description: "Clon C++ ImGui de kanban_web — tablero pensado para conducir agentes LLM con DoD evidence" tags: [kanban, cpp, agents, imgui] icon: phosphor: "columns" accent: "#a855f7" uses_functions: - http_request_cpp_core - sse_client_cpp_core - dod_evidence_panel_cpp_viz - agent_runs_timeline_cpp_viz - kpi_card_cpp_viz - sparkline_cpp_viz 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: 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 - id: backend_build cmd: "cd apps/kanban_cpp/backend && CGO_ENABLED=1 go build -tags fts5 -o kanban_cpp_backend ." timeout_s: 180 --- # kanban_cpp Clon C++ ImGui de kanban_web — tablero pensado para conducir agentes LLM con DoD evidence. Backend Go propio en `backend/` (puerto 8403 por defecto) con `operations.db` independiente del kanban_web original. NO sincroniza datos con `apps/kanban` a proposito. ## Panels | Panel | Funcion del registry | Notas | |---|---|---| | Board | inline | columnas + cards, drag con ImGui::IsItemActive | | Calendar | inline | vista mensual estatica (MVP) | | Dashboard | `kpi_card_cpp_viz` + `sparkline_cpp_viz` | KPIs (total, by_status, by_priority) | | Agent runs | `agent_runs_timeline_cpp_viz` | populated por HTTP poll a agent_runner_api:8486 | | Worktrees | inline | `git worktree list --porcelain` via popen | | DoD inspector | `dod_evidence_panel_cpp_viz` | inspecciona DoD items + evidencias | ## Build ```bash # Backend cd apps/kanban_cpp/backend && CGO_ENABLED=1 go build -tags fts5 -o kanban_cpp_backend . ./kanban_cpp_backend --port 8403 --db operations.db # Frontend ImGui cd cpp && cmake -B build/linux && cmake --build build/linux --target kanban_cpp -j ./build/linux/apps/kanban_cpp/kanban_cpp ``` ## Cuando usarla Cuando quieras un kanban dedicado a conducir agentes LLM (arrastrar card a `Doing (agent)` → arranca workflow) sin abrir browser. Para uso humano puro, `kanban_web` (Mantine) sigue siendo mejor. ## Gotchas - 2 services + 2 sqlite locks: kanban_web :8095/8401 y kanban_cpp :8403 NUNCA comparten `operations.db`. - `agent_runner_api` (puerto 8486) puede no estar corriendo — el panel `Agent runs` muestra `connection_status="disconnected"` en ese caso. No bloquea el resto de paneles. - Calendar es MVP estatico — TODO: integrarlo con cards filtradas por `due_date`. - Dashboard usa datos sinteticos hasta wire-up del backend stats endpoint (TODO). - Auth: cada app tiene sus propios usuarios. NO compartir cookies entre kanban_web y kanban_cpp. ## Capability growth log (v0.1.0 baseline — sin crecimiento aun)