Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Make awesome command-line applications the easy way

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .rvmrc
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 LICENSE.txt
Octocat-spinner-32 README.rdoc
Octocat-spinner-32 Rakefile
Octocat-spinner-32 gli.gemspec
Octocat-spinner-32 gli.rdoc

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

Though likely works on various other versions.


Extensive documentation is available at the wiki



Something went wrong with that request. Please try again.