HU Board Dashboard
What is the HU Board?
Section titled “What is the HU Board?”A web dashboard that visualizes all HU stories and pipeline sessions managed by Karajan Code. It provides a kanban board, session timeline, quality scores, and multi-project support.
Quick Start
Section titled “Quick Start”Without Docker
Section titled “Without Docker”cd $(npm root -g)/karajan-code/packages/hu-boardnpm installkj board startWith Docker
Section titled “With Docker”cd $(npm root -g)/karajan-code/packages/hu-boarddocker compose up -dFrom the CLI
Section titled “From the CLI”kj board start # Start the dashboardkj board stop # Stop itkj board status # Check if runningkj board open # Open in browserConfiguration
Section titled “Configuration”Enable in kj.config.yml:
hu_board: enabled: true port: 4000 auto_start: true # Start automatically on kj runOr enable during setup:
kj init # Select "Enable HU Board" when promptedFeatures
Section titled “Features”- Kanban Board: Stories in columns (Pending → Certified → Coding → Done)
- Quality Scores: 6-dimension scores with visual progress bars
- Session Timeline: Stage-by-stage breakdown with durations
- Multi-Project: Auto-discovers all projects from ~/.karajan/
- Auto-Sync: Watches JSON files for real-time updates
- Dark Theme: Matches Karajan Code design
- Auto-Generated HUs: Since v1.38.0, the board displays automatically generated HUs from complex tasks — not just manually provided ones. When triage activates hu-reviewer for medium/complex tasks, the decomposed HUs appear on the board with their sub-pipeline state (pending/coding/reviewing/done/failed/blocked)
- Pipeline History: History records are generated for all pipeline runs, providing full traceability across tasks and their HU decompositions
How It Works
Section titled “How It Works”The board reads JSON files from ~/.karajan/hu-stories/ and ~/.karajan/sessions/. SQLite is used as an index for fast queries — if deleted, it rebuilds from the JSON files on next startup.
MCP Tool
Section titled “MCP Tool”Available as kj_board MCP tool:
kj_board({ action: "start", port: 4000 })kj_board({ action: "status" })kj_board({ action: "stop" })