gum
bubbletea

gum | bubbletea | |
---|---|---|
47 | 128 | |
18,861 | 29,408 | |
1.8% | 2.3% | |
9.3 | 9.1 | |
1 day ago | 7 days ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gum
-
Show HN: Bagels – TUI Expense Tracker
I don't know why (other than being a Gen X nerd) but I have a bizarre affinity for nicely-written TUI apps of late! Things like btop++ that respond to mouse clicks and smoothly reflow when the terminal window is resized etc...
Shout-out to Charmbracelet's stuff such as Glow (https://github.com/charmbracelet/glow) and Gum (https://github.com/charmbracelet/gum) for rendering markdown nicely in the terminal and for using TUI in your shell scripts
-
FFmpeg by Example
needs gum from https://github.com/charmbracelet/gum;
- Just: Just a Command Runner
-
Create a simple CLI, a mess
I need support for an interactive CLI. I love the Symfony terminal—interactive, fast, great UX or something similar to Gum
-
Omm ("on-my-mind") – A keyboard-driven task manager for the command line
Omm is built using the charm libraries: https://charm.sh/
Easiest way to do it any language is to shell out to gum: https://github.com/charmbracelet/gum
-
7 TUI libraries for creating interactive terminal apps
Here, we will recreate the same program as Huh? example, but using Gum in shell scripts. First, install the Gum binary as per instructions on their GitHub repo here.
- TTE: Terminal Text Effects
-
Superfile – A fancy, petty terminal file manager
The same project has an application called Gum which exposes primitives from their UI framework via a single CLI binary. It's intended to be used from a normal bash script and I've found it really quite pleasant to use.
For example, you could write 'gum choose foo bar baz' to get a nice picker over the three provided options.
Their repo has a ton of examples: https://github.com/charmbracelet/gum
- Gum – A tool for glamorous shell scripts
-
CLI 'chat' app
The inspiration for this is the neat project gum (https://github.com/charmbracelet/gum) but I would deliver OS native apps vs. shell scripts.
bubbletea
-
Here's Why A Newbie is Raving About Code
Then, we execute the form's Run method. We won't delve into the implementation details here, but the Run method uses Charm's Bubble Tea library. Bubble Tea generates a model (the form's state) and manages that state. For more information, see the Bubble Tea Documentation
-
I Built My First CLI Tool - GoVibes
Most of the development time went into making GoVibes interactive and look pretty. Perhaps, that effort could have been better spent on making it cross-platform and functional, but again, I'm its sole user, so it doesn't matter. Anyway, I found BubbleTea, a library for building interactive CLI(TUI) tools in Golang. The library surely had a learning curve. It took me a week to wrap my head around how all things tie together. There are also a lot of prebuilt components(Bubbles) which makes it super easy to build a pretty, user-friendly TUI.
-
Wasmer 5.0
I've used wasm to write web applications in Go that run in the browser, both HTML applications (https://github.com/octoberswimmer/masc) and TUI apps using xterm.js (https://github.com/charmbracelet/bubbletea/pull/887).
-
Show HN: I made an SSH tunnel manager to learn Go
Well done! if you want to extend your CLI UI, check out Bubble Tea (https://github.com/charmbracelet/bubbletea)
-
Rainfrog – a database management TUI for Postgres
Been seeing lots of cool TUIs built with ratatui. Can anyone offer a comparison between ratatui and Golang https://github.com/charmbracelet/bubbletea?
I've been wanting to get into building a TUI but can't decide which library to pick.
-
Release Radar · August 2024: Major updates from the open source community
From Charm comes the new fun, functional, and stateful way to build interactive terminal applications. Bubble Tea is text user interface (TUI) framework built using the Go framework. Bubble Tea has been used to create all kinds of fun programs including ASCII movie art, a CLI for ChatGPT, ordering coffee from the command line, and loads more. Congrats to the team on shipping the big 1.0 🥳.
- Bubbletea: A powerful little TUI framework
-
DOjS – A DOS JavaScript Canvas with Sound
Not exactly what you're looking for, but there's Shell in a Box (see https://github.com/shellinabox/shellinabox), that can create a terminal on a web page, and expose an actual terminal application running on a server.
One thing that is certainly doable is also to use a standard TUI framework in another language (there are many of them, e.g. https://github.com/magiblot/tvision for C++, https://github.com/charmbracelet/bubbletea for Go, etc.), compile it to WASM, and find how to bridge the WASM output to the browser (I've seen this: https://github.com/cryptool-org/wasm-webterm, but never tried it).
-
Building Bubbletea Programs
I have to agree. At first I loved the idea of bubbletea but I have given up on using it because I feel it is too immature. There are some poor/unfinished design choices that make widgets from different authors take different approaches. Layouting is very difficult as this is not part of the framework and depends on often half-baked third party widgets. Theres this discussion where there seems to be very little movement from the authors to improve the situation (also linked from OP's blogpost).
https://github.com/charmbracelet/bubbletea/discussions/434
- Bubble Tea v1.0.0 Released
What are some alternatives?
bubbles - TUI components for Bubble Tea 🫧
termui - Golang terminal dashboard
lipgloss - Style definitions for nice terminal layouts đź‘„
Rich Interactive Widgets for Terminal UIs - Terminal UI library with rich, interactive widgets — written in Golang
ribbot - A simple, beautiful and interactive wrapper of curl
tcell - Tcell is an alternate terminal package, similar in some ways to termbox, but better in others.
zathura-markdown-rs - A Zathura plugin for Markdown
pterm - ✨ #PTerm is a modern Go module to easily beautify console output. Featuring charts, progressbars, tables, trees, text input, select menus and much more 🚀 It's completely configurable and 100% cross-platform compatible.
fzf - :cherry_blossom: A command-line fuzzy finder
textual - The lean application framework for Python. Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and a web browser.
pronomial - pronomial postag/word_gender based coreference solver
cobra - A Commander for modern Go CLI interactions
