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: 168,336 of 193,188
Downloads: 2,836

Daily

Ranking: 37,231 of 193,154
Downloads: 8

Depended by

RankDownloadsName

Depends on

RankDownloadsName
101,284,375,547concurrent-ruby
152324,212,867faker
165306,832,994rdoc
435117,599,274ostruct
476107,501,751debug
2,23810,551,863concurrent-ruby-edge
2,9895,719,663steep
7,145662,697minitest-mock
33,26840,673ratatui_ruby

Owners

#GravatarHandle
1iconKerrick