I keep coming back to using puppet to handle the dev setup the more I think about it. Granted, I am probably biased, having used it for at least a man-year for better or worse :)
Here's what I think we need to be able to do: 1. Install required dependencies in a platform-agnostic manner. Puppet can do this (yum for rpm-based, apt for deb-based, whatever-the-heck-mac-os-uses works too) 2. Clone dev-sources from upstream source (conductor, imagefactory, deltacloud, audrey, configure?) 3. Drop any needed config files into the cloned source repos 4. Ad-hoc things to run (db:migrate, etc.) 5. Start services from source checkout That's at a high level. The reason I really tend towards puppet is because in the details, there's a whole boatload of things that are inter-dependent on each other and need to happen in some sort of ordering, but at the same time need to be platform-agnostic. Puppet is good at this. Other tools will be a bear to make functional across platforms and make sure all the dependencies are wired up properly. Maybe I'm in an optimistic mood, but I think a first pass at this is attainable within a single sprint.
