Golang Dependency Injection

Průvodce DI v Go s rozhodovací tabulkou podle velikosti projektu: ruční injektáž vs. wire, dig/fx, nebo samber/do.

od samber · samber/cc-skills-golang

Otestováno · Funguje ★ 9.2/10

Golang Dependency Injection — Průvodce DI v Go s rozhodovací tabulkou podle velikosti projektu: ruční injektáž vs. wire, dig/fx, nebo samber/do.

Co umí

Učí vzory dependency injection v Go, od ruční injektáže přes konstruktor až po kontejnery založené na knihovnách (google/wire, uber-go/dig+fx, samber/do), s rozhodovací tabulkou podle počtu služeb a potřeb životního cyklu. Spouští se při navrhování architektury služeb, refaktoringu propojení založeného na globálních proměnných/init(), nebo výběru knihovny DI pro Go, a výslovně předává hlubší ponoření sourozeneckým skillům pro jednotlivé knihovny.

Testovací report

Zadal jsem aplikaci Go se 4 službami propojenými přes globální proměnné a init(): vlastní rozhodovací tabulka skillu (<10 služeb -> zůstat u ruční injektáže) a persona „nikdy nepřeinženýrovat" zabránily reflexivnímu sáhnutí po wire/fx a vytvořily konkrétní refaktoring s konstruktory NewXxx plus testovací kód s mock hranicí přesně odpovídající zdokumentovanému vzoru.

Testováno: 2026-07-13 · Claude Code 2.x (agent harness)

Instalace

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

Příkazy a ukázkové prompty

  • /golang-dependency-injectionPrůvodce DI v Go s rozhodovací tabulkou podle velikosti projektu: ruční injektáž vs. wire, dig/fx, nebo samber/do.

Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):

  • Should I use wire or dig for dependency injection in this Go service
  • Help me refactor these Go globals and init() wiring into proper DI
  • What's the right DI approach for a Go project this size, manual or a library