This looks promising and fairly well done, but it's lacking a few critical features IMO. The first obvious one is a way to Diff a recipe and it's Forks (unless I missed that).
The harder and maybe more important one, is an issue that GitHub itself still hasn't figured out how to solve either. There should be a process for a fork of a recipe being able to explain why it is better than the original, and have the fork be able to be voted on so that the 'best' fork as voted by the most users becomes the canonical 'Chicken Noodle Soup' recipe, or at least display the forks on main recipe ranked by popularity.
Yeah, it's on the list of things to do. Once there are enough recipes/users it will also be useful to see the history/ancestry of recipe. There are already a few that are forks of forks. All the recipe data is immutable and versioned, so that will happen at some point.
My first thought was to remove "Vegan Butter" from the chicken recipe (or move it into a "Dietary Substitutions"), but then I realized my forked recipe would probably just be lost in the void. Maybe the goal of forks should be more akin to pull requests?
Seems that "Dietary Substitutions" could be a first-class data type. It would be a named multi-map of one item to another one. So you could create you own "Dietary Substitution Map" named "Nut allergies" or "Halal" or "Vegan", with butter -> canola oil, milk -> soy milk, milk -> almond milk, etc.
Then you could pick the particular substitution map that you care about and avoid forking recipes unnecessarily and have most recipes support most diet types if the proper map exists.
On source repos, you're right. On forked repos, people often don't change the readme, and to see star repo counts of forks requires opening each repo individually.
> There should be a process for a fork of a recipe being able to explain why it is better than the original, and have the fork be able to be voted on so that the 'best' fork as voted by the most users becomes the canonical 'Chicken Noodle Soup' recipe, or at least display the forks on main recipe ranked by popularity.
A combination of popularity and the ability to choose to merge changes back into the original seems sufficient.
The harder and maybe more important one, is an issue that GitHub itself still hasn't figured out how to solve either. There should be a process for a fork of a recipe being able to explain why it is better than the original, and have the fork be able to be voted on so that the 'best' fork as voted by the most users becomes the canonical 'Chicken Noodle Soup' recipe, or at least display the forks on main recipe ranked by popularity.