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.
94
93%
Does it follow best practices?
Impact
97%
2.77xAverage score across 3 eval scenarios
Passed
No known issues
Toolkit elements that have sub-components (cursor, placeholder, scrollbar thumb, list item, etc.) must let users style them three ways: by explicit Element-API call, by CSS rule, or by the element's built-in default. The order is explicit > CSS > default, and the helper that enforces it is StyledElement.resolveEffectiveStyle(). Why: any element that bakes in Style.EMPTY as a default kills the CSS path entirely — the cascade has nothing to override because the explicit value is already set.
private Style cursorStyle; — leave them null by defaultnull means "use CSS or fall back to the default"; Style.EMPTY means "explicitly empty, do not let CSS override" — they are not the samenull (to clear an explicit value) or a real Styleprivate static final Style DEFAULT_X_STYLE = ... per child role (e.g., DEFAULT_CURSOR_STYLE, DEFAULT_PLACEHOLDER_STYLE)Style.EMPTY.reversed(), Style.EMPTY.dim()) so they compose cleanlyStyle effective = resolveEffectiveStyle(context, "cursor", cursorStyle, DEFAULT_CURSOR_STYLE);resolveEffectiveStyle(context, "item", PseudoClassState.ofSelected(), highlightStyle, DEFAULT_HIGHLIGHT_STYLE);ListElement-item matches "item")<h2>CSS Child Selectors</h2> block to the element's class JavaDoc listing every selector and its defaultAGENTS.md ("Available CSS Child Selectors") so other authors can discover it