@mariozechner/pi-tui — Minimal terminal UI framework with differential rendering, CSI 2026 synchronized output, and Component interfaces. Use when building or debugging terminal interfaces, TUI components, Editor, Markdown, SelectList, or handling input and ANSI widths. Use for "differential rendering", "matchesKey", "Focusable IME", even if pi-coding-agent is not mentioned.
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
@mariozechner/pi-tui — Minimal terminal UI framework with differential rendering, CSI 2026 synchronized output, and Component interfaces. Use when building or debugging terminal interfaces, TUI components, Editor, Markdown, SelectList, or handling input and ANSI widths. Use for "differential rendering", "matchesKey", "Focusable IME", even if pi-coding-agent is not mentioned.
pi-mono/packages/tui/src/ — read specific component implementations when needing deeper context.
Invariants
Synchronized Output: Uses CSI 2026 for atomic screen updates. Do not attempt to bypass differential rendering with raw console.log when the TUI is active.
Component Interface: Each line returned by render(width) MUST NOT exceed the width parameter; use truncateToWidth or wrapTextWithAnsi.
IME Support: Components needing text input (cursors) must implement the Focusable interface to position the hardware cursor correctly.