This document discusses using code generation to create a GraphQL API from GRPC services defined in Protobuf files. It proposes:
1. Parsing Protobuf and configuration files to normalize data about GRPC services and messages.
2. Using multiple plugins that each specialize in converting a data source (e.g. Protobuf, Swagger) into GraphQL definitions.
3. Generating GraphQL schema and resolver code from the normalized data using text templates, instead of heavy code generation tools like protoc-gen-gogoopsee.
This approach aims to produce more configurable, debuggable and extensible code generation by separating concerns between data preparation and code output.