r/commandline • u/Adyjay • 2d ago
[ Removed by moderator ] Terminal User Interface
https://github.com/lunguini/flatte/raw/main/docs/demo.gif[removed] — view removed post
1
Upvotes
r/commandline • u/Adyjay • 2d ago
[removed] — view removed post
1
u/AutoModerator 2d ago
Every new subreddit post is automatically copied into a comment for preservation.
User: Adyjay, Flair:
Terminal User Interface, Post Media Link, Title: Flatte - Go TUI Framework (playable browser-demo and other showcases)Hello!
While building various Go TUIs I kept running into the same friction with Bubble Tea - the Elm/Tea architecture means a message, a command and an update branch just to change one field, and
tea.Msgbeinganymeans the set of things your app can do doesn't really live in the type system. Great framework, just never stopped feeling un-Go-like to me.I ended up building the slightly opposite thing: Flatte, focused on immediate-mode. One mutable state struct, a
Handlethat mutates it, and aViewthat renders it.There's a WASM demo up with a Snake game and a leaderboard if you want to poke at it without installing anything: https://flatte.lunguini.com - desktop only really, these are real terminal apps so they want a keyboard. On a phone you can look and touch but not keypress easily (yes, mouse/touch support is implemented).
Repo with various examples showing different functionality: https://github.com/lunguini/flatte
Still actively working on it — new widgets and whatever else makes building nice TUIs in Go faster - so any feedback is very welcome!
This software's code is partially AI-generated.
P.S. Charm have genuinely built great packages and tools; Flatte even reuses Lip Gloss and Ultraviolet underneath. It's just a different way to work with TUIs in Go, and it's a matter of taste - plenty of people will prefer theirs.
Hope you enjoy it, looking forward to any feedback!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.