I can see a lot of merit to this.
Currently, Thingiverse has a mechanism by which you can see a collection of files needed for a project, download all as a folder and then you continue your workflow from here.
But I don't publish on Thingiverse, myself. When I create a write-up of some new project, I store the documentation and images in a github repository. I sometimes also include the STL file(s) and occasionally the GCODE file(s) as well but these aren't usually pertinent to other people. I like your direction of thinking here on this. There ought to be a tighter coupling.
I'm not sure if I'd want a process similar to CircleCI in which—upon pushing to origin—the printer then begins to print. If this is what you want I'd at least throw a notification in OctoPrint asking if you'd now like to print this "v1.0.2", for example.
I personally would prefer a mechanism by which:
- In the plugin, you identify one or more github IDs
- There's a new side panel below
Files which allows you to browse directly to an individual github repository and subfolder, then to select an individual file (even by tag or version)
On the plus side,
git is already included in the OctoPi image (naturally).