docs: function add(options) {
      assert.ok(options.files, 'files is mandatory');
  
      return options.files
          .filter(function(file) {
            //Git exits OK with empty filenames.
            //Avoid an unnecessary call to git in these cases by removing the filename
            return !!file;
          })
          .reduce(function(soFar, file) {
            var args = ['add', file];
            return soFar
                .then(gitFn(args))
                .then(silent);
          }, Promise.resolve());
    }