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
Process steps in order, do not skip ahead. The default API level for new apps is the Toolkit DSL — this skill never picks TuiRunner or Immediate Mode unless the user explicitly asks for them.
com.example.demo), the class name (e.g., HelloApp), and the delivery channel (JBang single-file, Maven module, or Gradle module)dev.example, class HelloApp, channel JBangdev.tamboui:tamboui-toolkit (the DSL) and dev.tamboui:tamboui-jline3-backend (a backend is required)https://central.sonatype.com/repository/maven-snapshots/ and the latest snapshottamboui-tui or tamboui-widgets directly — tamboui-toolkit already pulls them in.java at the chosen location; Maven/Gradle: under src/main/java/<package-path>/)ToolkitApp and override render() to return a single root Element — start with panel("Title", text("Hello").bold().cyan(), spacer(), text("Press 'q' to quit").dim()).rounded()main method must be public static void main(String[] args) throws Exception { new ClassName().run(); }import static dev.tamboui.toolkit.Toolkit.*; so the factory methods are unqualified//DEPS dev.tamboui:tamboui-toolkit:<version> and //DEPS dev.tamboui:tamboui-jline3-backend:<version> at the top of the file; if using snapshots, add //REPOS central-portal-snapshots (JBang ≥ 0.136) or the explicit URLpom.xml declares the snapshot repo and pulls the BOM dev.tamboui:tamboui-bom, then tamboui-toolkit and tamboui-jline3-backend without versionsmavenContent { snapshotsOnly() }, then implementation(platform("dev.tamboui:tamboui-bom:<version>")) and the two artifactsjbang <file> in the user's terminal — TamboUI needs a real TTY, so this must run in an actual terminal, not a Gradle task or IntelliJ Run configmvn -q compile or ./gradlew -q assemble; for the run step, instruct the user to invoke the produced JAR from a real terminal (Gradle's daemon has no TTY — see getting-started.adoc's "Running/Debugging" section)