This document provides an overview of Marionette.js, a library for Backbone.js applications that helps address common patterns and problems when building larger scale single page applications. It introduces Marionette primitives like views, view containers, and an application structure that separates coordination logic from computation logic. Specific components covered include item views, collection views, composite views, regions, layouts, the application object, modules, controllers, and different patterns for application level communication like events, commands, and request/response.