I'm building a front-end framework, and in my current setup I have a development repo, a gem version, and a documentation app. Currently, I have the app and the gem in subfolders within the dev repo, allowing my taskrunner to automate building everything at once, keeping everything in line. I'm then manually copying the distribution versions of each to their respective repos. What this means though, is an enormous master repo that's doing far too much, and other repos that I'm having to be very careful about ensuring are in line. It's becoming extremely unwieldy; errors are creeping in.
Ideally, I want to work on the development version, and for changes to propagate out to the other two repos - for example, maybe when I test, commit and push the dev repo, this could then trigger an update on the other two to bring the versions inline. This would allow me to expand as/when needed - if I needed to add packages for other languages, I could build a new repo and add it into the project, and be confident it would work the same way.
I've tried submoduling, but this a. seems to work in opposition to what I want, and b. from past experience, git submodules are a nightmare to manage.
I've also tried having all the repos as folders within a parent, which has its own taskrunner that is in charge of cross-subproject concerns, but this is effectively the same what I have at the minute with a prettier structure; I'm still left needing to push each subproject to an individual repo.
Gitslave looks as if it might be helpful, but I'm not quite sure how I can leverage it.
Any advice specifically on this situation (or on how others have managed linked subprojects using git) would be really helpful.