255e8dcf71
Frontend C++ ImGui (main.cpp + 4 paneles) + backend Go (HTTP + SQLite + fsnotify + SSE). Reusa parse/scan/watch funcs del registry (issue 0130a).
77 lines
2.3 KiB
Markdown
77 lines
2.3 KiB
Markdown
---
|
|
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.
|