I love using Silverstripe, its a great CMS and Framework, easy to get into but powerful. But, there has been one thing bugging me for some time now, and that is managing all the different third party modules that you need in order to get your site up and running.
Back in the days of SVN (not that long ago really, but its nice to be able to say "back in the days..." whenever you can) you could use SVN:Externals. Granted, this wasn't the most elegant solution, but it worked pretty well and meant you didn't have to fill your repo with loads of modules you are not developing.
The biggest problem with externals was that it is slow! Unlike git there is no compression, so large sites take an age to download.
Now most of the silverstripe modules are located in git repo's, the performance issue isn't really there any more, as git compresses a repo before transmission. The downside is though that the closest thing to externals in git is submodules, and these are fiddly and will only work with other git repo's.
You can download all the modules and just put them in your repo. But this is time consuming at the start of a project, or when you want to upgrade modules!
Anyway, enough waffling, in the end, i got fed up of the problems listed above and came up with my own solution. SilvaBuilda!
SilvaBuilda is built in python (using only core libraries) and is intended to be a simple cross platform tool that can be used to quickly generate a SilverStripe project on any platform (*nix or Windows).
The project is still very much a beta release (if that), but it manages the automation of downloading and extracting third party modules really well, as well as the process of combining them with files from your working copy.
So if you you are interested in trying it out, check out my git repo at:
https://github.com/mlewis-everley/silvabuilda
Any issues, please feel free to log them on github!