Rules and recommendations mentioned here were the results of 3 years' experience of using GraphQL both on the frontend and backend sides. We also include the recommendations and experience of Caleb Meredith (PostGraphQL author, Facebook ex-employee) and Shopify engineers.

This guide is intended to be open source and could change in the future, - the rules may be improved on, changed, or even become outdated. What is written here is a culmination of time and pain suffered from the use of horrible GraphQL-schemas.

Making Changes to the Rules

If you think that any rule is unclear or not provided in full detail, or want to add your own – please open an issue with your suggestions.

This is only an initial start to a rule book - by working together collaboratively we can combine our experiences and create a guide of best practices.