Some libraries still register themselves to the global scope, and don't formalize their dependencies through a package.json or bower.json file. In such a case, if you don't wanna include the whole Underscore.js source in your repository, follow along:

window._ = {
    bind: function(func, context) {
        return Function.prototype.bind.apply(func, Array.prototype.slice.call(arguments, 1));
    },

    extend: function(obj) {
        Array.prototype.forEach.call(Array.prototype.slice.call(arguments, 1), function(source) {
            if (!source) {
                return;
            }

            for (var prop in source) {
                obj[prop] = source[prop];
            }
        });

        return obj;
    }
};