Bini

A toolbox to help me rapidly build/deploy a cli. Filled with assumptions about how I think a CLI should behave.

Build Status

master
development

Installation

To install:

    % gem install bini

To use inside of an application, add this to the your gemfile:

    % gem 'bini'

and run bundle to make it available:

    % bundle

Usage

Bini is broken up into a few pieces, always include this first:

require 'bini'

Optional components can be loaded like this:

require 'bini/config'
require 'bini/optparser'
require 'bini/log'

API

Generated documentation is available via yard.

Examples and wiki coming if they are ever needed.

Testing

In theory, testing is complete, in practice it's a work in progress.

Design philosophy

If such a thing can be said.

  • Whenever possible, sane defaults will be supplied.
  • A minimum amount of configuration before execution.
  • If it requires a large chunk of requires, put it in a sub gem.
  • Speed is of the utmost importance.
  • Whenever possible, use stuff out of the stdlib.

Contributing

I don't have rules here, more guidelines.

  • Try to make the branch name clear, words like feature/issue/bug help.