A component-based TUI framework for Go.
oat-latte provides a two-pass layout engine (Measure/Render), a cooperative focus system, a composable style and theme system, and a library of ready-made widgets — all built on tcell.
go get github.com/antoniocali/oat-latteRequires Go 1.21+ and a true-color terminal for the built-in themes.
package main
import (
"log"
oat "github.com/antoniocali/oat-latte"
"github.com/antoniocali/oat-latte/latte"
"github.com/antoniocali/oat-latte/layout"
"github.com/antoniocali/oat-latte/widget"
)
func main() {
input := widget.NewEditText().WithPlaceholder("Type something…")
btn := widget.NewButton("OK", func() { /* handle */ })
body := layout.NewVBox(input, btn)
app := oat.NewCanvas(
oat.WithTheme(latte.ThemeDark),
oat.WithBody(body),
)
if err := app.Run(); err != nil {
log.Fatal(err)
}
}make run-tasklist # Task list (tutorial app)
make run-notes # Notes manager
make run-kanban # Kanban boardFull documentation is at oat-latte.dev.
See CONTRIBUTING.md.
MIT
