Golang Dependency Injection
Go DI-guide med en beslutstabell efter projektstorlek för manuell injektion mot wire, dig/fx eller samber/do.
Testad · Fungerar
Vad den gör
Lär ut dependency injection-mönster i Go, från manuell konstruktorinjektion till biblioteksbaserade containrar (google/wire, uber-go/dig+fx, samber/do), med en beslutstabell baserad på antal tjänster och livscykelbehov. Triggas vid design av tjänstearkitektur, refaktorering av globala variabler/init()-baserad koppling, eller val av Go DI-bibliotek, och lämnar uttryckligen vidare till syskonskills per bibliotek för djupdykningar.
Testrapport
Matade den med en Go-app med 4 tjänster kopplade med globala variabler och init(): skillens egen beslutstabell (<10 tjänster -> stanna manuell) och 'överkonstruera aldrig'-persona höll svaret från att reflexmässigt gripa efter wire/fx, och den producerade en konkret NewXxx-konstruktörsrefaktorering plus mock-gränssnittstestkod som matchade dess dokumenterade mönster exakt.
Testad: 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
Kommandon och exempelprompter
/golang-dependency-injectionGo DI-guide med en beslutstabell efter projektstorlek för manuell injektion mot wire, dig/fx eller samber/do.
Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):
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