Open brian-rose opened 1 year ago
Thanks to @ahuang11 for the suggestion!
I spent some time investigating this option, with a cookiecutter template https://github.com/brian-rose/cookbook-cookiecutter and an experimental use case https://github.com/brian-rose/a-crufty-cookbook.
I found some pain points around how cruft interacts with git and dealing with merge conflicts. I'm sure these could be sorted out.
A deeper problem is that the "version of record" of the cookbook template in this workflow is now not actually a cookbook, it's a cookiecutter template for a cookbook repository. So we couldn't be able to as easily run our Cookbook automation directly on the template for testing. I think that maintenance of the template would be trickier.
The cookbook template contains a fair bit of boilerplate code, and the Cookbook Contributor's Guide still includes a lot of steps to personalize some of that boilerplate code.
It might be a good use case for some form of cookiecutter to reduce the number of steps to cookbook creation.
Separate but related, we still don't have a solution for keeping existing Cookbooks in sync with changes to the Template (https://github.com/ProjectPythia/cookbook-gallery/issues/86).
One tool that solves both problems is cruft. It combines cookiecutter-based repo creation from a template plus automation for keeping repos in sync with an evolving template.
Worth a careful look for the next phase of cookbooks!