Teaches coding agents how to build TUIs with TamboUI correctly: API-level selection, render-thread discipline, display-width safety, CSS-aware element authoring, and JFR conventions.
87
90%
Does it follow best practices?
Impact
84%
1.44xAverage score across 5 eval scenarios
Passed
No known issues
TuiConfig.mouseCapture defaults to false, which means mouse-wheel and click events never reach the runner — and therefore never reach ListElement.handleMouseEvent, RichTextAreaElement.handleMouseEvent, or any other element that already has correct mouse handling. Why: without explicit opt-in, "scroll doesn't work" looks like a TamboUI bug when it is actually a missing one-line config override.
configure()ToolkitApp that uses a scrollable widget (list, table, tree, richTextArea, scrollable paragraph) must override configure() and enable mouse captureoverride fun configure(): TuiConfig =
TuiConfig.builder().mouseCapture(true).build()(Java equivalent: return TuiConfig.builder().mouseCapture(true).build();)
ListElement, RichTextAreaElement, and other built-ins already route SCROLL_UP / SCROLL_DOWN to their internal scroll state — you do not need to wire mouse handlers manuallyfalse deliberately so dashboards that only print text do not eat the terminal's native text selectionevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
rules
skills