@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.
التثبيت
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
name: pi-tui
description: @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.
compatibility: TypeScript/Node; read pi-mono/packages/tui/README.md for APIs referenced here.
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.