Fetching contributors…
Cannot retrieve contributors at this time
56 lines (36 sloc) 1.8 KB

Git-Like Interface Command Line Parser


Dave Copeland (davetron5000 at g mail dot com)


Copyright © 2010 by Dave Copeland


Distributes under the Apache License, see LICENSE.txt in the source distro

This is a DSL you can use to create a command line interface like git, gem or svn, in that the first argument is a command, and there are global and command specific flags.


Install if you need to:

gem install gli

The simplest way to get started is to create a scaffold project

gli init my_proj command_name other_command_name

This will create a basic scaffold project in ./my_proj with:

  • executable in ./my_proj/bin/my_proj. This file demonstrates most of what you need to describe your command line interface.

  • an empty test in ./my_proj/test/tc_nothing.rb that can bootstrap your tests

  • a gemspec shell

  • a README shell

  • Rakefile that can generate RDoc, package your Gem and run tests

  • A Gemfile suitable for use with Bundler to manage development-time dependencies

Supported Platforms

Known to work on

  • 1.8.7

  • 1.9.2

  • 1.9.3

  • Ruby Enterprise Edition 1.8.7

  • Rubinius 1.0.1

  • JRuby 1.6.4

If you're interested in other versions of Ruby, let me know, and I'll add them to my test suite


Extensive documentation is available at the wiki. For API Documentation, start with the GLI module.