docs: function(src, dest, transform) {
          if (typeof src !== 'string' || src.length === 0) {
              throw 'Invalid source file path (arg #1)';
          }
          if (typeof dest !== 'string' || dest.length === 0) {
              throw 'Invalid destination file path (arg #2)';
          }
          if (typeof transform !== 'function') {
              transform = function(data) {
                  return data;
              };
          }
  
          var def = _promise.deferred();
          _fs.readFile(src, function(err, data) {
              if (err) {
                  def.reject(err);
              } else {
                  var data = transform(data.toString());
                  _fs.writeFile(dest, data, function(err, data) {
                      if (err) {
                          def.reject(err);
                      } else {
                          def.resolve();
                      }
                  });
              }
          });
  
          return def.promise();
      }