Golang Dependency Injection
samber/cc-skills-golangComprehensive guide for dependency injection (DI) in Golang. Covers why DI matters (testability, loose coupling, separation of concerns, lifecycle management), manual constructor injection, and DI library comparison (google/wire, uber-go/dig, uber-go/fx, samber/do). Use this skill when designing service architecture, setting up dependency injection, refactoring tightly coupled code, managing singletons or service factories, or when the user asks about inversion of control, service containers, or wiring dependencies in Go. For a specific DI library, → See `samber/cc-skills-golang@golang-google-...
At a glance
git clone --depth 1 https://github.com/samber/cc-skills-golang
cp -r cc-skills-golang/skills/golang-dependency-injection ~/.claude/skills/golang-dependency-injection
Setup, runtime and requirements describe samber/cc-skills-golang, the repo this skill ships in.
Also in samber/cc-skills-golang
View the repoGolang benchmarking, profiling, and performance measurement. Use when writing, running, or comparing Go benchmarks, profiling hot paths with...
Golang CLI application development. Use when building, modifying, or reviewing a Go CLI tool — especially for command structure, flag handli...
Golang code style conventions — line length and breaking, variable declarations, control flow clarity, when comments help vs hurt. Use when...
Golang concurrency patterns. Use when writing or reviewing concurrent Go code involving goroutines, channels, select, locks, sync primitives...
Idiomatic context.Context usage in Golang — propagation through API boundaries, cancellation, timeouts and deadlines, request-scoped values,...
CI/CD pipeline configuration using GitHub Actions for Golang projects — testing, linting, SAST, security scanning, code coverage, Dependabot...
Comprehensive guide for Go database access — parameterized queries, struct scanning, NULLable columns, transactions, isolation levels, SELEC...
Golang data structures — slices (internals, capacity growth, preallocation, slices package), maps (internals, hash buckets, maps package), a...
Dependency management strategies for Golang projects — go.mod management, installing/upgrading packages, Minimal Version Selection, vulnerab...
Idiomatic Golang design patterns — functional options, constructors, error flow and cascading, resource management and lifecycle, graceful s...
Comprehensive documentation guide for Golang projects, covering godoc comments, README, CONTRIBUTING, CHANGELOG, Go Playground, Example test...
Idiomatic Golang error handling — creation, wrapping with %w, errors.Is/As, errors.Join, custom error types, sentinel errors, panic/recover,...