Awesome, this is super helpful input! Thank you for all the great ideas Brian!
I added a note about the inverted pyramid style and used some of your examples.
I also made the wording about the template less prescriptive and added some notes about packages to look at for inspiration. I’m realizing that there are a lot of ways to effectively convey the key points effectively in package docs, so I’m thinking maybe the template can be a helpful starting point, but just one possible way to do structure your docs.
I’ll be a little blunt here: new contributors will not read this, and there’s nothing you can do about it. You’ll still get PRs which violate the design goals, regardless of how well this is written or how many big flashy warnings you have about opening issues first. Just be OK with it, and have this available to link to for clarity.
I completely agree with this, and I think as you say linking to it in discussions to help frame the conversation is really the most important thing, not necessarily that contributors perfectly follow it on the first try.
contributing: This is where you put your design goals, and ask people to open issues before making PRs.
I think I’m still partial to having a very concise set of design goals near the top to help users see if that vision fits with the problem they are trying to solve. For example, I think that the design goals section in dillonkearns/elm-graphql has helped differentiate between other GraphQL packages in the ecosystem so users know whether to look at other packages or try this one out. I’m not sure it would be as clear to users if it was in the contributing section.
Otherwise I totally agree with your points in the contributors section! I’ll add some details on that as well.
Thanks again for your input! I really appreciate it.