lib/impulse-bin/index.js
function ImpulseBin() {
  this.settings = {
    adapter: 'commander',
    quietOption: 'quiet',
    requiredOptionTmpl: '--%s is required',
    verboseOption: 'verbose',
    verboseLogName: '[verbose]',
    stdoutLogName: '[stdout]',
    stderrLogName: '[stderr]'
  };

  this.console = require('long-con').create();

  // Assigned in run():
  this.adapter = null;
  this.options = null;
  this.provider = null;
}
function ImpulseBin() {
  this.settings = {
    adapter: 'commander',
    quietOption: 'quiet',
    requiredOptionTmpl: '--%s is required',
    verboseOption: 'verbose',
    verboseLogName: '[verbose]',
    stdoutLogName: '[stdout]',
    stderrLogName: '[stderr]'
  };

  this.console = require('long-con').create();

  // Assigned in run():
  this.adapter = null;
  this.options = null;
  this.provider = null;
}
ImpulseBin constructor.

const bin = require('impulse-bin').create();

Example configuration:

bin
.set('adapter', 'optimist')
.set('quietOption', 'silent');

Configuration:

- `{string} [adapter='commander]` Valid name of adapter in `./lib/adapter/`
- `{string} [quietOption='quiet']` Silence all loggers on `--quiet`
- `{string} [requiredOptionTmpl='--%s is required']` `exitOnMissingOption()` message template
- `{string} [verboseOption='verbose']` Enable verbose logger on `--verbose`
- `{string} [verboseLogName='[verbose]']` Prepended to each message
- `{string} [stdoutLogName='[stdout]']` Prepended to each message
- `{string} [stderrLogName='[stderr]']` Prepended to each message

Properties:

- `{object} adapter` Ex. `require('./lib/adapter/commander')`
- `{object} console` `LongCon` instance
- `{object} options` CLI options extracted by adapter
- `{object} provider` commander.js, optimist, etc.

@see LongCon https://github.com/codeactual/long-con/blob/master/docs/LongCon.md