feat: initial scaffold of kanban_cpp v2 (issue 0130)
Frontend C++ ImGui (main.cpp + 4 paneles) + backend Go (HTTP + SQLite + fsnotify + SSE). Reusa parse/scan/watch funcs del registry (issue 0130a).
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
---
|
||||
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.
|
||||
Reference in New Issue
Block a user