Golang Dependency Injection
Go DI-guide med en projektstørrelses-beslutningstabel for manuel injektion vs. wire, dig/fx eller samber/do.
Testet · Virker
Hvad det gør
Underviser i dependency injection-mønstre i Go, fra manuel constructor-injektion til biblioteksbaserede containere (google/wire, uber-go/dig+fx, samber/do), med en beslutningstabel baseret på antal services og lifecycle-behov. Trigges ved design af service-arkitektur, refaktorering af globals/init()-baseret wiring eller valg af Go DI-bibliotek, og henviser eksplicit videre til søster-skills for dybdegående gennemgang af enkelte biblioteker.
Testrapport
Fodrede det med en 4-services Go-app wired med globals og init(): skillets egen beslutningstabel (<10 services -> forbliv manuel) og 'aldrig over-engineer'-persona forhindrede svaret i reflexivt at gribe efter wire/fx, og det producerede en konkret NewXxx-constructor-refaktorering plus mock-boundary-testkode, der matchede dets dokumenterede mønster nøjagtigt.
Testet: 2026-07-13 · Claude Code 2.x (agent harness)
Installation
git clone https://github.com/samber/cc-skills-golang cd cc-skills-golang mkdir -p ~/.claude/skills cp -r skills/golang-dependency-injection ~/.claude/skills/golang-dependency-injection
Kommandoer og eksempelprompter
/golang-dependency-injectionGo DI-guide med en projektstørrelses-beslutningstabel for manuel injektion vs. wire, dig/fx eller samber/do.
Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):
Should I use wire or dig for dependency injection in this Go serviceHelp me refactor these Go globals and init() wiring into proper DIWhat's the right DI approach for a Go project this size, manual or a library