Thanks for taking the time to post this here, it's great to read:
Capistrano was a perfect fit for all three of those items. It’s also well-known which is a bonus. And being based on Rake was an added benefit.
Basing our well known tool, on a well known tool (dependency resolution driven!) was a massive gamble for the project. I only wish we had been able to implement more of the workflow in a `build` fashion, rather than the procedural method we have now.
I also learned a few things about the Puppet ecosystem, which is alien to me (being a Ruby guy, I tend towards Chef, for better or worse)
For anyone interested, there's a post I wrote some time ago about how to use Capistrano with Chef-Solo (my own most common use-case outside of deploying Rails and Go apps)
http://lee.hambley.name/2013/06/11/using-capistrano-v3-with-chef.html which includes some hints on how to speed things up using Rake's built-in conditional rebuild of outdated targets (users of Make will thank me!)
I think you might enjoy
https://harrow.io/ when we launch, it'll be a place to host your general purpose scripts, and share with your team, my company has designed and built Harrow with this use-case in mind, although our stack looks a little different (*ahem*
Chef) - I'd be happy of the chance to talk to you about that if you are ever interested.
Thanks again!