The several different distributed version control systems are all solving essentially the same problem, and often in essentially the same way. The AMP project aims to support all the different repository formats with a single API and common, cross platform interfaces - written Ruby, AMP runs anywhere Ruby runs. Rather than dictate a single user interface, AMP introduces the ampfile, a Ruby domain specific language (think Rake) for VCS commands, allowing the user to pick any workflow, including his own, with the full power of Ruby at his disposal. The AMP project hasn't achieved all of these goals yet - especially wide repository support. This talk will also cover the AMP architecture to encourage further contributions.