This repository provides a protoc plugin (`protoc-gen-go_gapic`) that generates idiomatic Go client libraries (GAPIC) from protobuf service definitions. The generator produces both gRPC and REST (REGAPIC) transport implementations, including client structs, pagination iterators, long-running operation wrappers, call options, routing headers, and example snippets. It is the primary tool used by Google to generate Go client libraries for Google Cloud APIs. The architecture is a single binary invoked by protoc, with core generation logic in `internal/gengapic/`, protobuf type utilities in `internal/pbinfo/`, an auto-indenting printer in `internal/printer/`, and golden-file test validation. It supports Bazel build rules and Docker packaging, and includes integration tests against a live `gapic-showcase` server. The codebase is well-structured with feature flags, selective generation, mix-in support (IAM, Locations, LRO), and extensive test coverage via golden files.