What problem does it solve?
Many Go projects struggle with correct concurrency patterns, lifecycle management of goroutines, efficient use of generics, and production-grade practices such as context propagation, profiling, and robust testing, which leads to subtle bugs and poor performance in microservices and system utilities.
Core Features & Use Cases
- Concurrency & Lifecycle: Guidance on goroutine management, worker pools, fan-out/fan-in, select patterns, and graceful shutdown.
- Microservices & gRPC: Best practices for building gRPC microservices, API boundaries, and module layout for cloud-native deployment.
- Generics & Interfaces: Patterns for type-safe generics, union constraints, small composable interfaces, and dependency injection via interfaces.
- Performance & Testing: Recommendations for pprof profiling, benchmarks, race detector usage, table-driven tests, and fuzzing.
- Use Case: Refactor a Go service to eliminate data races, add benchmarks and coverage, and convert brittle code to idiomatic, testable modules.
Quick Start
Use golang-pro to review a Go package, fix context propagation and goroutine lifecycle issues, add table-driven tests and benchmarks, and produce a short plan for profiling and optimizing hotspots.