UmbraCodeFirst is a Code-First approach to Umbraco Development.
With UmbraCodeFirst you can define your templates, document types, tabs and datatypes in a code-first approach.
There's also the UmbraCodeFirst.UI project wich adds UI extensions to the Umbraco Back-Office. The first addition to the UI project is a preview engine that enables editors to se a live preview inside the back-office UI. The preview does not rely on a faked xml cache, but uses the data from the database directly. Since it will only affect editors, performance isn't critical at this point.