What Charming can render
↑ a real charming app, rendered in your terminal.
Rails primitives, terminal-native
-
Routing
Familiar
routes.rb →routes.rb—rootandscreenmap paths to controller actions. -
Controllers
Actions render views by symbol. Key bindings declared at the class level.
controllers → -
Components
Reusable widgets — static renderables or interactive, with their own key & mouse handlers.
components → -
State
Durable in-memory state with typed attributes — survives between controller dispatches.
state → -
Database
Persistence when you need it. Skip it when you don't.
database → -
Testing
RSpec patterns for controllers, templates, components, timers, and the runtime.
testing →
Philosophy
- Convention over configuration.
- Ruby TUIs, the Rails way.
- Less wiring. More shipping.
From zero to running
-
~ gem install charmingInstall the CLI gem on your machine.
-
~ charming new my_app ~ cd my_app && bundle install
Scaffold a Rails-shaped app with controllers, views, state.
-
my_app bundle exec exe/my_appBoots the TUI in your current terminal. Press
qto quit.