Skip to content

Legacy (Go prototype)

The original Roost implementation is a single Go + GTK4 binary built around libghostty-vt via cgo. The current Roost has migrated to two native UIs — a Swift .app on macOS and a Rust + gtk4-rs binary on Linux — with no daemon; everything in this section describes the retained legacy Go implementation.

Use these docs only if you are running the legacy Go + GTK4 binary rather than the current Swift Roost.app (macOS) or the Rust roost binary (Linux).

Page Covers
Installation Go + Zig + GTK4 prerequisites, make libghostty, make build
CLI (roost-cli) The Go companion CLI's command surface, env vars, wire format
Architecture Go package layout, GTK4 threading contract, OSC routing
Development setup Iterating on the Go module + Zig libghostty-vt step

The current Roost development path is documented at the top level of the docs site (Getting Started, Reference, Development). The current CLI is roostctl (crate roost-cli); see CLI.