What problem does it solve?
Reviews Go code to identify and remediate unsafe concurrency patterns that cause goroutine leaks, data races, deadlocks, improper context usage, and incorrect synchronization practices.
Core Features & Use Cases
- Goroutine lifecycle management: Enforces explicit termination paths, owner-started goroutines, and use of coordinated groups for parallel work.
- Channel and mutex guidance: Validates channel sizing and closing, signal channel conventions, minimal lock scopes, mutex placement, and warns against copying mutexes by value.
- Context and race detection: Checks for context propagation rules, ensures context-first parameters and cancellation handling, and mandates running tests with the race detector for CI.
- Use Case: Apply during code review or debugging to locate goroutine leaks, race conditions, improper use of sync primitives, and missing context handling in long-running services or producer/consumer pipelines.
Quick Start
Review the repository's Go packages for goroutine leaks, race conditions, improper context usage, and synchronization issues, and produce a prioritized list of fixes.