Since this function is a utility API, I'd like the function signature to allow future improvement. I would like to see it changed to:

    exports.zip = function (target, result, options, callback) {
        if (!callback && typeof options == 'function') {
            callback = options;
            options = {};
        }

Next, "cwd" is really the "base path" for the files in the archive. This should not be required. It should be in the options object. It must be an absolute path. If the basePath is not specified, then default to the current working directory. We also must strip the trailing slash, if it exist.

        var cwd = afs.resolvePath(options.basePath || process.cwd());
        if (/\/$/.test(cwd)) {
            cwd = cwd.substring(0, cwd.length - 1);
        }