Google Wire does compile-time dependency injection for Go through code generation instead of runtime reflection. You write providers (regular Go functions), group them into sets with wire.NewSet, then declare an injector function tagged with //go:build wireinject. Running wire generates wire_gen.go with plain constructor calls, so missing dependencies fail at codegen, not when your app boots. Interface bindings must be explicit via wire.Bind, which prevents ambiguity when multiple types satisfy the same interface. The project was archived in August 2025 as feature-complete. Good fit if you want compile-time safety and zero runtime overhead; use dig or fx instead if you need lifecycle hooks or lazy initialization.
npx skills add https://github.com/samber/cc-skills-golang --skill golang-google-wire