Basic usage
var argv = require('yargs').argv;
argv._         // [ ... ]
argv.$0        // "node bin/mybin"
argv.verbose   // --verbose
Help and version
var argv = require('yargs')
  // version
  .alias('v', 'version')
  .version(function() { return require('../package').version; })
  .describe('v', 'show version information')
  // help text
  .alias('h', 'help')
  .help('help')
  .usage('Usage: $0 -x [num]')
  .showHelpOnFail(false, "Specify --help for available options")
Options
  .option('f', {
      alias : 'file',
      describe: 'x marks the spot',
      type: 'string', /* array | boolean | string */
      nargs: 1,
      demand: true,
      demand: 'file is required',
      default: '/etc/passwd'
      // also: count:true, requiresArg:true
  })
  .options({
    f: { ... }
  })
Examples and more help stuff
  // more help
  .example('...')
  .epilog('copyright 2015')
  .command('start', 'start a server')
Stacking
  .count('verbose')
argv.verbose // -vvv => 3
Reject non explicits
  .strict()
Methods
yargs.showHelp()
yargs.help() //=>string