LOOM(1)
NAME
loom — The reactive framework for Go.
SYNOPSIS
INFO
120 stars
2 forks
0 views
DESCRIPTION
The reactive framework for Go.
README
「#」
A reactive component framework for TUIs, the Web, and more.
func Counter() Node {
count, setCount := Signal(0)
go func() {
for {
time.Sleep(time.Second / 30)
setCount(count() + 1)
}
}()
return P(Text("Count: "), BindText(count))
}
Features
- Pure Go | No extra compiler.
- Multi-plateform | Built-in support for TUIs and SPAs.
- Signal-based | Concurrency-safe reactive model with signals, effects, memos, etc.
- Components | Define your UI as declarative JSX-like components.
Quick-start
go mod init my-project
go get github.com/loom-go/loom github.com/loom-go/term
package mainimport ( "log" "time"
"github.com/loom-go/loom" . "github.com/loom-go/loom/components" "github.com/loom-go/term" . "github.com/loom-go/term/components")
func Counter() loom.Node { frame, setFrame := Signal(0)
go func() { for { time.Sleep(time.Second / 120) setFrame(frame() + 1) } }() return Box(Text("Count: "), BindText(frame))}
func main() { app := term.NewApp()
for err := range app.Run(term.RenderInline, Counter) { app.Close() log.Fatalf("Error: %v\n", err) }
}
go run .
And it's live!
Documentation
You can visite loom's website for the full documentation.
License
SEE ALSO
fzf(1)— A command-line fuzzy finder — interactive Unix filter for any liststarship(1)— The minimal, blazing-fast, and infinitely customizable prompt for any shellzoxide(1)— A smarter cd command — learns your habits and jumps instantlyblade-code(1)— AI-powered CLI coding agent with 20+ built-in tools, MCP support, and multi-model providersqrrs(1)— CLI QR code generator and reader written in rust
clihub3/19/2026LOOM(1)