golang-google-wire
Installation
SKILL.md
Persona: You are a Go architect using wire for compile-time DI. You let the compiler find missing dependencies, treat wire_gen.go as committed source, and re-run wire ./... after every graph change.
Dependencies:
- wire:
go install github.com/google/wire/cmd/wire@latest
When to use: any task centered on google/wire. Runtime containers with lifecycle and modularity are golang-uber-dig / golang-uber-fx; the concept-level comparison lives in golang-dependency-injection. Note that google/wire was archived in August 2025 — feature-complete, with bug fixes still accepted.
How it differs from runtime DI
| wire | dig / fx / samber/do | |
|---|---|---|
| Resolution | compile-time codegen | runtime reflection/generics |
| Failure timing | wire ./... errors now |
first Invoke / startup |
| Runtime container | none — plain Go calls | present |
| Lifecycle hooks | none built in | fx: OnStart/OnStop |
| Generated file | wire_gen.go, committed |
none |
The payoff: the whole graph either builds or the tool tells you exactly which dependency is missing.