For over a decade, C++ developers have envied the tooling support that languages like Java have. With Clang we finally have a tooling framework that allows us to reason about C++ code easily enough to be able to build safe automated transformations. This talk will introduce the infrastructure we are building on top of Clang to support automatic recognition and transformation of specific C++ patterns. We'll then show all of the pieces necessary to build an actual source-to-source translation tool to update from an old API to a new and different API.