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
TamboUI emits Java Flight Recorder events for diagnostics and performance work. The conventions below exist so that JFR overhead stays near-zero when no recording is active and so that event names are stable across modules.
@Name("dev.tamboui.<area>.<thing>") — for example dev.tamboui.terminal.draw, dev.tamboui.toolkit.routeEvent in the @Name — the Java class can be TerminalDrawEvent, but the JFR-visible name is dev.tamboui.terminal.drawdev.tamboui.jfr; toolkit events under dev.tamboui.toolkit.jfr; pick the package by which module owns the eventif (FooEvent.enabled()) { FooEvent.commit(...); } — the enabled() check is what keeps overhead minimal when no recording is activeenabled() method must live on the event class itself so callers can short-circuit before allocating any objects, capturing any timestamps, or building any payloadnew FooEvent().commit() unguarded — even if the event is disabled, the allocation cost is now in your hot pathcommit(...) helper on the event class over a separate tracer interfaceEvent.commit() — keeping all three together makes the event self-containedcommit(...) (matching the JDK convention) when it does just create + populate + commitjdk.jfr.* requires the runtime to provide itcompileOnly(libs.jfr.polyfill) in its Gradle dependencies — without this the module will not compile under the project's Java 8 source levelcompileOnly for a reasondocs/src/docs/asciidoc/tracing.adoc so users can discover them