Golang Dependency Injection
Guide d'injection de dépendances Go avec un tableau de décision selon la taille du projet : injection manuelle vs wire, dig/fx, ou samber/do.
Testé · Fonctionne
Ce que fait
Enseigne les patterns d'injection de dépendances en Go, de l'injection manuelle par constructeur aux conteneurs basés sur des bibliothèques (google/wire, uber-go/dig+fx, samber/do), avec un tableau de décision basé sur le nombre de services et les besoins de cycle de vie. Se déclenche lors de la conception d'architecture de service, du refactoring de globales/câblage basé sur init(), ou du choix d'une bibliothèque de DI en Go, et renvoie explicitement vers des skills frères dédiés à chaque bibliothèque pour approfondir.
Rapport de test
Soumis à une appli Go à 4 services câblée avec des globales et init() : le propre tableau de décision du skill (<10 services -> rester manuel) et sa personnalité « ne jamais sur-ingénierer » ont empêché la réponse de se jeter réflexivement sur wire/fx, et il a produit un refactoring concret en constructeurs NewXxx plus du code de test avec frontières de mock correspondant exactement à son pattern documenté.
Testé le: 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
Commandes et exemples de prompts
/golang-dependency-injectionGuide d'injection de dépendances Go avec un tableau de décision selon la taille du projet : injection manuelle vs wire, dig/fx, ou samber/do.
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
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