charmbracelet/bubbletea ? reverse-engineered prompt
Reverse engineered prompt
I want to build a Go framework for creating interactive terminal user interfaces. It should be based on the functional style of the Elm architecture, making it easy to manage application state.
The core idea is to have a model to hold the state, an update function that processes messages like key presses and returns an updated model, and a view function that renders the UI based on the current model's state. The framework should handle all the low-level terminal stuff like rendering, diffing the output for performance, and managing the event loop.
It needs to have excellent support for keyboard inputs and modern features like mouse tracking for clicks and scrolling. It should also handle colors gracefully. The goal is to make it simple to build anything from a small inline component to a complex, full-screen application. Think of it as a fun, stateful, and powerful way to build beautiful CLIs.
Are you gonna build this?
make sure you review the code using coderabbit