What problem does it solve?
This Skill eliminates runtime dependency injection ambiguity by generating compile-time wiring code, so missing providers and invalid bindings are caught when you run wire rather than during application startup or first request.
Core Features & Use Cases
- Compile-time dependency injection using google/wire so constructors become plain Go calls via generated wire_gen.go.
- Provider graph building with wire.NewSet, wire.Build, and injector functions using the wireinject build tag.
- Explicit interface bindings and value wiring through wire.Bind, wire.Value, wire.InterfaceValue, wire.Struct, and wire.FieldsOf for precise graph resolution.
- Use Case: If your Go service has a Postgres DB pool, Redis client, repositories, and services, this Skill helps you structure provider sets and generate an application injector that wires everything consistently with cleanup chaining.
Quick Start
Use the golang-google-wire skill to set up your injector with //go:build wireinject and then run wire ./... to regenerate wire_gen.go after you change your provider graph.