Skip to content
Roman Shirokov edited this page Jul 21, 2026 · 14 revisions

TUI Compose

License: MIT Go Version Go Reference

Легковесный фреймворк для удобной разработки TUI-интерфейсов на Go с поддержкой мыши, готовыми виджетами и автоматической системой фокуса без зависимостей. Идеально подходит для дашбордов, консольных утилит и интерактивных CLI-приложений.

Быстрый старт

package main

import "github.com/romanSPB15/tui-compose/v3"

func main() {
    wnd := tui.NewWindow()
    wnd.SetTitle("Моё приложение")

    label := tui.NewStaticLabel("Привет, TUI!").ColorizeForeground(tui.Cyan)

    btn := tui.NewButton("Выход", func() {
        wnd.Quit()
    })

    box := tui.NewVBox(label, btn)
    wnd.SetContent(box)

    wnd.Run()
}

Этот код:

  • Устанавливает окну терминала заголовок «Моё приложение»(необязательно);
  • Создаёт виджеты Label и Button, и создаёт контейнер;
  • Устанавливает контейнер как содержимое окна;
  • И запускает рантайм tui-compose.

Чтобы нажать на кнопку, используйте Tab для того чтобы переключить на неё фокус, и нажмите Enter. Приложение будет закрыто. Но tui-compose поддерживает мышь, так что можно использовать и её.

Clone this wiki locally