The Ruby terminal apps toolkit

Everything you need to build command line apps

  • Flexible

    TTY gems let you solve command line problems in the same way Unix philosophy of focused tools does. You can string gems together as you please.

  • Reusable

    Each gem is an independent component and can be combined in many fantastic ways with other libraries outside of tty.

  • Reliable

    All tty components are small packages that do one thing well and hence are well tested.

  • Simple

    Each tty gem is a small package of straightforward api calls. The source is small and easy to understand.

Explore gems

Mix & match what you need to build your command line tool

  • tty-prompt

    A beautiful and powerful interactive command line prompt.

    Learn more
  • tty-progressbar

    A flexible progress bars drawing in terminal emulators.

    Learn more
  • tty-spinner

    A terminal spinner for tasks with non-deterministic time.

    Learn more
  • tty-command

    Execute shell commands with pretty logging.

    Learn more
  • tty-table

    A flexible and intuitive table output generator.

    Learn more
  • tty-tree

    Print directory or structured data in a tree like format.

    Learn more
  • tty-reader

    A set of methods for processing keyboard input in character, line and multiline modes.

    Learn more
  • tty-file

    File and directory manipulation utility methods.

    Learn more
  • tty-screen

    Terminal screen properties detection.

    Learn more

View all gems

Quick Start

While installing TTY is simple, there are a few requirements

TTY is installed and managed via rubygems, the ruby package manager.

To install all the tty components you can do

$ gem install tty

Alternatively, lookup your favourite tty gem and install it

$ gem install tty-prompt

View source on github