A Rails-inspired Ruby TUI framework.

gem install charming
// the stack

Rails primitives, terminal-native

  • Routing

    Familiar routes.rbroot and screen map paths to controller actions.

    routes.rb →
  • 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.
// three commands

From zero to running

  1. install
    ~ gem install charming

    Install the CLI gem on your machine.

  2. generate
    ~ charming new my_app
    ~ cd my_app && bundle install

    Scaffold a Rails-shaped app with controllers, views, state.

  3. run
    my_app bundle exec exe/my_app

    Boots the TUI in your current terminal. Press q to quit.

Build something charming.


This site uses Just the Docs, a documentation theme for Jekyll.