A summary of data about the Ruby ecosystem.

https://github.com/davetron5000/gli

Make awesome command-line applications the easy way
https://github.com/davetron5000/gli

Keywords from Contributors

activerecord activejob mvc rubygems rack code-formatter rubocop static-code-analysis background-jobs multithreading

Last synced: about 6 hours ago
JSON representation

Repository metadata

Make awesome command-line applications the easy way

README.rdoc

          = GLI, the Git-Like Interface Command Line Parser

GLI allows you to create command-line app in Ruby that behaves like git in that it takes subcommands to perform a series of complex action, e.g. git remote add.

* {Overview}[http://davetron5000.github.io/gli]
* {Source on Github}[http://github.com/davetron5000/gli]
* RDoc[http://davetron5000.github.io/gli/rdoc/index.html]

{Build Status}[https://travis-ci.org/davetron5000/gli]

== What Problem does GLI Solve?

Creating a command-line app that uses subcommands, each of which might accept different command-line options, is somewhat difficult with Ruby's built-in OptionParser.  GLI provides an API that wraps OptionParser so that you can create a subcommand-based command-line app with minimal boilerplate. This API also produces complete documentation for your command-line app.

== Why is GLI's solution different from others?

There are other RubyGems that allow you to create a command-line app that takes subcommands.  These solutions are often quite limited (e.g. they don't allow deeply nested subcommand structures or sophisticated command-line options per subcommand), or require more code that we think is needed. Some solutions make it difficult or impossible to properly document your command-line  app.

== What you need to know to use GLI

You should know Ruby, and have a basic understanding of how the UNIX command line works: standard input, standard output, standard error, and exit codes.

== Use

Install if you need to:

    gem install gli

You can validate you have installed it correctly by running gli help. You should see formatted help output.

If you are using GLI in another application, add it to your Gemfile:

    gem "gli"

You can test your install via Bundler by running bundle exec gli help. This should produce formatted help output from GLI.

== Getting Started

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

    gli init todo list add complete

(note if you installed via Bundler you will need to execute bundle exec gli init todo list add complete)

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

* executable in ./todo/bin/todo.  This file demonstrates most of what you need to describe your command line interface.
* an empty test in ./todo/test/default_test.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

Now, you are ready to go:

    > cd todo
    > bundle exec bin/todo help
    NAME
        todo - Describe your application here

    SYNOPSIS
        todo [global options] command [command options] [arguments...]

    VERSION
        0.0.1

    GLOBAL OPTIONS
        -f, --flagname=The name of the argument - Describe some flag here (default: the default)
        --help                                  - Show this message
        -s, --[no-]switch                       - Describe some switch here

    COMMANDS
        add      - Describe add here
        complete - Describe complete here
        help     - Shows a list of commands or help for one command
        list     - Describe list here

    > bundle exec bin/todo help list
    NAME
        list - Describe list here

    SYNOPSIS
        todo [global options] list [command options] Describe arguments to list here

    COMMAND OPTIONS
        -f arg - Describe a flag to list (default: default)
        -s     - Describe a switch to list

All you need to do is fill in the documentation and your code; the help system, command-line parsing and many other awesome features are all handled for you.

Get a more detailed walkthrough on the {main site}[http://davetron5000.github.io/gli]

== Supported Platforms

See `dx/docker-compose.env` and the variable `RUBY_VERSIONS` for the versions that are supported.  This should generally track with the supported version of Ruby from Ruby's maintainers.

That said, GLI should generally work on other Rubies as it doesn't have any runtime dependencies and there are no plans to use more modern features of Ruby in the codebase.

== Documentation

Extensive documentation is {available at the wiki}[https://github.com/davetron5000/gli/wiki].

API Documentation is available {here}[http://davetron5000.github.io/gli/rdoc/index.html].  Recommend starting with GLI::DSL or GLI::App.

== Developing

See `CONTRIBUTING.md`

== Credits

Author::  Dave Copeland (mailto:davetron5000 at g mail dot com)
Copyright:: Copyright (c) 2010 by Dave Copeland
License:: Distributes under the Apache License, see LICENSE.txt in the source distro

== Links

* [http://davetron5000.github.io/gli] - RubyDoc
* [http://www.github.com/davetron5000/gli] - Source on GitHub
* [http://www.github.com/davetron5000/gli/wiki] - Documentation Wiki
* [http://www.github.com/davetron5000/gli/wiki/Changelog] - Changelog

= gli CLI documentation

:include:gli.rdoc

        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: about 10 hours ago

Total Commits: 615
Total Committers: 50
Avg Commits per committer: 12.3
Development Distribution Score (DDS): 0.242

Commits in past year: 4
Committers in past year: 3
Avg Commits per committer in past year: 1.333
Development Distribution Score (DDS) in past year: 0.5

Name Email Commits
Dave Copeland d****0@g****m 466
Jean-Sebastien Gelinas c****r@g****m 27
Dave Copeland d****d@o****m 18
ChrisArcand c****s@c****m 11
blindgaenger b****r@g****m 6
dblock d****k@d****g 5
Wynn Netherland w****n@g****m 5
Hemant Kumar g****t@g****m 5
Dave Copeland d****d@l****m 4
Andreas Zuber z****r@p****h 4
Ildar Sagdejev s****s@g****m 4
Jacob Evelyn j****n@g****m 4
John Leach j****n@j****k 4
Vladimir v****y@i****m 3
Mick Pollard a****x@g****m 3
brianknight10 b****0@g****m 2
Alex Tareshawty a****y@g****m 2
Cameron Dutro c****n@g****m 2
Eduardo de Santana Medeiros Alexandre e****b@g****m 2
Haim Ashkenazi h****m@b****g 2
Jesse Herrick j****k@g****m 2
Juan Ignacio Donoso j****o@g****m 2
Matt Brictson m****t@m****m 2
Paul Thornthwaite t****k@g****m 2
Rafał Rzepecki d****d@g****m 2
Vince Broz v****e@b****c 2
mickael-palma-argus m****a@l****r 1
dkishitani d****i@g****m 1
Robin Wenglewski r****n@w****e 1
Pierre Schambacher p****r@z****m 1
and 20 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 10 days ago

Total issues: 84
Total pull requests: 47
Average time to close issues: about 4 years
Average time to close pull requests: over 1 year
Total issue authors: 58
Total pull request authors: 30
Average comments per issue: 4.42
Average comments per pull request: 2.32
Merged pull request: 28
Bot issues: 0
Bot pull requests: 0

Past year issues: 3
Past year pull requests: 8
Past year average time to close issues: 13 days
Past year average time to close pull requests: 3 days
Past year issue authors: 1
Past year pull request authors: 4
Past year average comments per issue: 1.33
Past year average comments per pull request: 1.25
Past year merged pull request: 6
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/davetron5000/gli

Top Issue Authors

  • davetron5000 (8)
  • noraj (5)
  • logicminds (4)
  • rsanheim (4)
  • JacobEvelyn (3)
  • danielb2 (3)
  • ttscoff (3)
  • mrjcleaver (3)
  • leifericf (2)
  • IotaSpencer (2)
  • dblock (2)
  • KINGSABRI (2)
  • paul-mesnilgrente (1)
  • ripperhe (1)
  • joeworkman (1)

Top Pull Request Authors

  • davetron5000 (14)
  • dblock (3)
  • mattbrictson (3)
  • vStone (3)
  • apiology (2)
  • aither64 (2)
  • rsanheim (2)
  • biow0lf (2)
  • noraj (2)
  • dkishitani (2)
  • D10ant (2)
  • hyperbolist (2)
  • atareshawty (1)
  • fornellas (1)
  • kyledecot (1)

Top Issue Labels

  • Feature Request (17)
  • Bug (8)

Top Pull Request Labels

  • Bug (2)

Package metadata

gem.coop: gli

Build command-suite CLI apps that are awesome. Bootstrap your app, add commands, options and documentation while maintaining a well-tested idiomatic command-line app

  • Homepage: https://davetron5000.github.io/gli/
  • Documentation: http://www.rubydoc.info/gems/gli/
  • Licenses: Apache-2.0
  • Latest release: 2.22.2 (published 11 months ago)
  • Last Synced: 2025-12-23T04:37:01.949Z (about 16 hours ago)
  • Versions: 90
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 95,997,653 Total
  • Docker Downloads: 175,608,843
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 0.187%
    • Downloads: 0.262%
    • Docker downloads count: 0.488%
  • Maintainers (1)
rubygems.org: gli

Build command-suite CLI apps that are awesome. Bootstrap your app, add commands, options and documentation while maintaining a well-tested idiomatic command-line app

  • Homepage: https://davetron5000.github.io/gli/
  • Documentation: http://www.rubydoc.info/gems/gli/
  • Licenses: Apache-2.0
  • Latest release: 2.22.2 (published 11 months ago)
  • Last Synced: 2025-12-22T13:30:22.527Z (1 day ago)
  • Versions: 90
  • Dependent Packages: 545
  • Dependent Repositories: 4,328
  • Downloads: 95,969,778 Total
  • Docker Downloads: 175,608,843
  • Rankings:
    • Dependent packages count: 0.082%
    • Downloads: 0.273%
    • Dependent repos count: 0.478%
    • Docker downloads count: 0.592%
    • Average: 0.964%
    • Stargazers count: 1.731%
    • Forks count: 2.629%
  • Maintainers (1)
proxy.golang.org: github.com/davetron5000/gli

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/davetron5000/gli#section-documentation
  • Licenses: apache-2.0
  • Latest release: v2.22.2+incompatible (published 11 months ago)
  • Last Synced: 2025-12-22T13:30:23.051Z (1 day ago)
  • Versions: 79
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 6.472%
    • Average: 6.69%
    • Dependent repos count: 6.908%
gem.coop: davetron5000-gli

An application and API for describing command line interfaces that can be used to quickly create a shell for executing command-line tasks. The command line user interface is similar to Gits, in that it takes global options, a command, command-specific options, and arguments

  • Homepage: http://davetron5000.github.com/gli
  • Documentation: http://www.rubydoc.info/gems/davetron5000-gli/
  • Licenses: apache-2.0
  • Latest release: 0.2.3 (published over 11 years ago)
  • Last Synced: 2025-12-22T13:30:20.933Z (1 day ago)
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 18,409 Total
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 10.252%
    • Downloads: 30.755%
rubygems.org: davetron5000-gli

An application and API for describing command line interfaces that can be used to quickly create a shell for executing command-line tasks. The command line user interface is similar to Gits, in that it takes global options, a command, command-specific options, and arguments

  • Homepage: http://davetron5000.github.com/gli
  • Documentation: http://www.rubydoc.info/gems/davetron5000-gli/
  • Licenses: apache-2.0
  • Latest release: 0.2.3 (published over 11 years ago)
  • Last Synced: 2025-12-22T13:30:21.193Z (1 day ago)
  • Versions: 6
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 18,409 Total
  • Rankings:
    • Stargazers count: 1.548%
    • Forks count: 2.341%
    • Dependent packages count: 5.227%
    • Average: 17.259%
    • Downloads: 30.395%
    • Dependent repos count: 46.782%
rubygems.org: gli_aziz_light

Build command-suite CLI apps that are awesome. Bootstrap your app, add commands, options and documentation while maintaining a well-tested idiomatic command-line app

  • Homepage: http://davetron5000.github.com/gli
  • Documentation: http://www.rubydoc.info/gems/gli_aziz_light/
  • Licenses: apache-2.0
  • Latest release: 2.8.1 (published almost 12 years ago)
  • Last Synced: 2025-12-22T13:30:21.970Z (1 day ago)
  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 4,243 Total
  • Rankings:
    • Stargazers count: 1.715%
    • Forks count: 2.594%
    • Dependent packages count: 7.746%
    • Dependent repos count: 21.706%
    • Average: 22.132%
    • Downloads: 76.901%
  • Maintainers (1)
conda-forge.org: rb-gli

  • Homepage: https://rubygems.org/gems/gli
  • Licenses: Apache-2.0
  • Latest release: 2.19.0 (published over 6 years ago)
  • Last Synced: 2025-12-22T13:30:30.577Z (1 day ago)
  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 10.327%
    • Forks count: 16.222%
    • Average: 22.348%
    • Dependent packages count: 28.82%
    • Dependent repos count: 34.025%
gem.coop: gli_aziz_light

Build command-suite CLI apps that are awesome. Bootstrap your app, add commands, options and documentation while maintaining a well-tested idiomatic command-line app

  • Homepage: http://davetron5000.github.com/gli
  • Documentation: http://www.rubydoc.info/gems/gli_aziz_light/
  • Licenses: apache-2.0
  • Latest release: 2.8.1 (published almost 12 years ago)
  • Last Synced: 2025-12-22T13:30:21.802Z (1 day ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 4,243 Total
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 26.992%
    • Downloads: 80.977%
  • Maintainers (1)

Dependencies

Gemfile rubygems
  • psych >= 0
  • simplecov ~> 0.6.4
gli.gemspec rubygems
  • minitest >= 0 development
  • rainbow ~> 1.1, ~> 1.1.1 development
  • rake >= 0 development
  • rdoc >= 0 development
  • sdoc >= 0 development
test/apps/todo/Gemfile rubygems
test/apps/todo/todo.gemspec rubygems
  • rake >= 0 development
  • rdoc >= 0 development
test/apps/todo_legacy/Gemfile rubygems
test/apps/todo_legacy/todo.gemspec rubygems
  • rake >= 0 development
  • rdoc >= 0 development

Score: 31.183590663169852