Hi Andrew,
What you have shared is quite a basic project but a good idea indeed ; this doesn't support all features for development as such. I have in house custom solution; what I have written a custom tool to leverage FTP/SFTP transfer from Adobe campaign.
1. I have created a workflow in adobe campaign which listen to all changes in the adobe campaign code or configuration every 15 minutes and poll all changes and build a package and store that in a server where i have a git repository.
2. This will execute a script to push that to bit-bucket or your version control system creating a new tag/branch based on the kind of the work performed by the developer i.e. if developer have created a package definition in campaign then i will create a separate branch with that new package or if no package definition is available for the new change then i will create a new tag in the bit bucket repository.
3. Once a developer finishes his/her work he will raise a pull request in the version control system and your lead or architect can approve the changes and merge that to development/master branch.
4. My second script will poll or listen to all changes in the master branch every 6 hours if this finds any changes in that branch it will send one email to all developer that a deployment will take place in 30 minutes please save your changes.
5. After 30 minutes It create a package of everything in master branch and install that package to your target instance(DEV,STAGE).
This approach will give us an option to roll back if anything goes wrong. I am thinking to build an IDE to provide intellisense and ease the work of developers but not getting enough time 😞
May be you and your team can build something similar.
Regards,
Amit