code: function CommandLoader(obj) {
    if (!(this instanceof CommandLoader)) {
      return new CommandLoader(obj);
    }
  
    obj = obj || {};
  
    this.root = obj.root || path.resolve(__dirname, 'commands');
    this.strict = true;
    this.usage = obj.usage || 'help';
    this.fallback = obj.fallback || this.usage;
    this.default = obj.default || this.usage;
    this.manuals = obj.manuals || null;
  }
docs: ## CommandLoader `CommandLoader(obj)`  Creates a new instance of CommandLoader with the following options: * root - The location of Command modules in the filesystem, represented as a String. Defaults to a sibling 'commands' folder. * strict - If true, CommandLoader will emit 'error' events if its run with a primary argument that doesn't exist as a command. Otherwise, that argument will be included in the fallback command's arguments. Defaults to `true`. * usage - If `--help` or `-h` are passed as options, this command will be used to generate a usage summary. Defaults to 'help'. * fallback - If an unknown command is specified while running, this command is used instead. Defaults to the same as `usage`. * default - The command to run when no command is specified in argv. Defaults to the same as `usage`. * manuals - If set, this location will be used as a repository of named manual files by loadManual()  Commands are modules required from `root`. They must have a .run function, and a .usage string. Or, if module exports justa a function, that function will be used as the .run function, and if .usage is undefined it will be loaded by loadManual().