$(document).ready(
	function() {
		$('.carousel[id]').each(
			function() {
				var html = '<div class="carousel-nav" data-target="' + $(this).attr('id') + '"><ul>';
				
				for(var i = 0; i < $(this).find('.item').size(); i ++) {
					html += '<li><a';
					if(i == 0) {
						html += ' class="active"';
					}
					
					html += ' href="#">•</a></li>';
				}
				
				html += '</ul></li>';
				$(this).before(html);
				$('.carousel-control.left[href="#' + $(this).attr('id') + '"]').hide();
			}
		).bind('slid',
			function(e) {
				var nav = $('.carousel-nav[data-target="' + $(this).attr('id') + '"] ul');
				var index = $(this).find('.item.active').index();
				var item = nav.find('li').get(index);
				
				nav.find('li a.active').removeClass('active');
				$(item).find('a').addClass('active');
				
				if(index == 0) {
					$('.carousel-control.left[href="#' + $(this).attr('id') + '"]').fadeOut();
				} else {
					$('.carousel-control.left[href="#' + $(this).attr('id') + '"]').fadeIn();
				}
				
				if(index == nav.find('li').size() - 1) {
					$('.carousel-control.right[href="#' + $(this).attr('id') + '"]').fadeOut();
				} else {
					$('.carousel-control.right[href="#' + $(this).attr('id') + '"]').fadeIn();
				}
			}
		);
		
		$('.carousel-nav a').bind('click',
			function(e) {
				var index = $(this).parent().index();
				var carousel = $('#' + $(this).closest('.carousel-nav').attr('data-target'));
				
				carousel.carousel(index);
				e.preventDefault();
			}
		);
	}
);

Here's a bit of jQuery to add pagination dots to a Bootstrap carousel. The code dynamically creates the paginator, and sets the class of each a element to active when that corresponding carousel pane is displayed. This code also shows and hides the carousel left and right controls, so they don't appear when not applicable.