Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explore use of "cruft" for cookbook creation and boilerplate management #118

Open
brian-rose opened this issue Jun 14, 2023 · 2 comments
Open
Labels
infrastructure Infrastructure related issue

Comments

@brian-rose
Copy link
Member

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 (ProjectPythia/cookbook-gallery#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!

@brian-rose brian-rose added the infrastructure Infrastructure related issue label Jun 14, 2023
@brian-rose
Copy link
Member Author

Thanks to @ahuang11 for the suggestion!

@brian-rose
Copy link
Member Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Infrastructure related issue
Projects
Status: Backlog
Development

No branches or pull requests

2 participants