Golang Dependency Injection
Go DI-guide med en beslutningstabell basert på prosjektstørrelse for manuell injeksjon vs. wire, dig/fx, eller samber/do.
Bestått
Hva den gjør
Lærer bort dependency injection-mønstre i Go, fra manuell konstruktørinjeksjon til bibliotekbaserte containere (google/wire, uber-go/dig+fx, samber/do), med en beslutningstabell basert på antall tjenester og livssyklusbehov. Utløses ved design av tjenestearkitektur, refaktorering av globals/init()-basert sammenkobling, eller valg av Go DI-bibliotek, og overlater eksplisitt dybdedykk til søsken-skill per bibliotek.
Testrapport
Ga den en 4-tjenesters Go-app koblet sammen med globals og init(): skillets egen beslutningstabell (<10 tjenester -> hold deg manuell) og «aldri overengineer»-persona holdt svaret fra å reflektorisk gripe til wire/fx, og den produserte en konkret NewXxx-konstruktørrefaktorering pluss mock-grense-testkode som matchet det dokumenterte mønsteret nøyaktig.
Testet på: 2026-07-13 · Claude Code 2.x (agent harness)
Installer
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 beslutningstabell basert på prosjektstørrelse for manuell injeksjon vs. wire, dig/fx, eller samber/do.
Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen 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