Repolode
Shopify

Shopify/cli-ui

A small Ruby framework for building interactive command-line interfaces with prompts, spinners, progress bars, and nested frames.

Stars
1,130
Forks
57
Open issues
23
Last commit
last month

What is it?

CLI UI is a Ruby library for producing structured, visually polished terminal output in command-line tools. It provides building blocks for common interactive needs such as asking users to choose from options or enter free-form text, and for showing the state of long-running work.

The framework includes nested output frames that group related log lines, spinner groups that run several tasks concurrently and hide their output unless something fails, and a progress bar. Text can be colored and decorated with glyphs using a simple markup such as {{red:text}} and {{*}}. Frame appearance can be set globally or per frame, with box and bracket styles.

The library is self-contained with no runtime dependencies, and it includes type stubs so it works with or without Sorbet. Installation is via RubyGems.

Key features

  • 01Interactive prompts with arrow keys, vim bindings, numbers, and filtering
  • 02Nested frames for grouping output
  • 03Spinner groups that run multiple tasks and show titles or status
  • 04Progress bar and status widget
  • 05Colored text and glyph formatting via markup
  • 06Global or per-frame box and bracket styles

Use cases

  • Building interactive setup or deployment scripts in Ruby
  • Running several parallel build or install steps with clean output
  • Prompting users for choices or confirmations in a Ruby CLI

Quick start

  1. 1

    Install the gem from RubyGems

    gem install cli-ui
  2. 2

    Require the library in your code and enable the stdout router

Topics

FAQ

What is cli-ui?
A small Ruby framework for building interactive command-line interfaces with prompts, spinners, progress bars, and nested frames. CLI UI is a Ruby library for producing structured, visually polished terminal output in command-line tools. It provides building blocks for common interactive needs such as asking users to choose from options or enter free-form text, and for showing the state of long-running work.
Is cli-ui free to use? What license does it have?
cli-ui is open source under the MIT license. Check the license terms before using it in commercial products.
Is cli-ui still maintained?
Updated within 6 months. The last commit to cli-ui was on Sep 15, 2026.
What can I use cli-ui for?
Building interactive setup or deployment scripts in Ruby Running several parallel build or install steps with clean output Prompting users for choices or confirmations in a Ruby CLI
How do I install cli-ui?
Install the gem from RubyGems: gem install cli-ui Require the library in your code and enable the stdout router
Where can I get cli-ui?
The source code and installation instructions are on GitHub: https://github.com/Shopify/cli-ui

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects