Categories: None [Edit]

rooibos

https://rubygems.org/gems/rooibos
https://github.com/setdef/Rooibos
== Confidently Build Terminal Apps Rooibos[https://rooibos.run] helps you build interactive terminal applications. Keep your code understandable and testable as it scales. Rooibos handles keyboard, mouse, and async work so you can focus on behavior and user experience. gem install rooibos Currently in beta. APIs may change before 1.0. === Get Started in Seconds rooibos new my_app cd my_app rooibos run That's it. You have a working app with keyboard navigation, mouse support, and clickable buttons. Open lib/my_app.rb to make it your own. --- === The Pattern \Rooibos uses Model-View-Update, the architecture behind Elm[https://guide.elm-lang.org/architecture/], Redux[https://redux.js.org/], and {Bubble Tea}[https://github.com/charmbracelet/bubbletea]. State lives in one place. Updates flow in one direction. The runtime handles rendering and runs background work for you. --- === Hello, MVU The simplest \Rooibos app. Press any key to increment the counter. Press Ctrl+C to quit. require "rooibos" module Counter # Init: How do you create the initial model? Init = -> { 0 } # View: What does the user see? View = -> (model, tui) { tui.paragraph(text: <<~END) } Current count: #{model}. Press any key to increment. Press Ctrl+C to quit. END # Update: What happens when things change? Update = -> (message, model) { if message.ctrl_c? Rooibos::Command.exit elsif message.key? model + 1 end } end Rooibos.run(Counter) That's the whole pattern: Model holds state, Init creates it, View renders it, and Update changes it. The runtime handles everything else. --- === Your First Real Application A file browser in sixty lines. It opens files, navigates directories, handles errors, styles directories and hidden files differently, and supports vim-style keyboard shortcuts. If you can do this much with this little code, imagine how easy _your_ app will be to build. require "rooibos"...

Total

Ranking: 160,818 of 197,085
Downloads: 3,622

Daily

Ranking: 25,816 of 197,066
Downloads: 6

Depended by

RankDownloadsName

Depends on

RankDownloadsName
101,384,536,487concurrent-ruby
150353,290,307rdoc
153345,325,660faker
333164,180,191ostruct
431126,283,689debug
2,24511,325,820concurrent-ruby-edge
2,8656,714,496steep
4,7801,873,009minitest-mock
25,66961,319ratatui_ruby

Owners

#GravatarHandle
1iconKerrick