Bubble Tea: a terminal UI framework based on Elm

Caveat: this is a project written in Go which implements the Elm Architecture.


Hi Everyone! My colleagues and I wrote an Elm-inspired framework in Go for building rich terminal applications. We attempted to follow the Elm Framework fairly closely, even down to smaller details like the way Time.every is implemented. We even had a subscription model for a long time, though we ultimately removed it because of the complexity of the implementation. I’d love to see it return, however.

As an Elm enthusiast, it’s been a joy to use Elm’s functional paradigms for the CLI. It’s equally nice to see how well the Elm Architecture can translate across languages. We chose Go mainly for it’s practicality with dependable tooling and very relevant cross-platform support.

We also have a core library of sorts:

Details

https://github.com/charmbracelet/bubbles

And a few hefty projects we’ve written using the framework.

Details

https://github.com/charmbracelet/glow
https://github.com/charmbracelet/charm

Would love to hear any thoughts and happy to answer any questions!

14 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.