AIniverse Get the App

golang-design-patterns

by samber · Github

Idiomatic Golang design patterns — functional options, constructor APIs, `init()` and global-state avoidance, enums, panic vs error decisions, resource management and lifecycle, graceful shutdown, timeouts and retries, streaming and iterators, and architecture styles (clean, hexagonal, DDD, flat). Apply when choosing between architectural patterns, implementing functional options, designing constructor APIs, setting up graceful shutdown, applying resilience patterns, or asking which idiomatic Go pattern fits a specific problem. Not for wiring a DI container or comparing DI libraries (→ See `samber/cc-skills-golang@golang-dependency-injection` skill), nor for error wrapping, `errors.Is`/`As`, or logging mechanics (→ See `samber/cc-skills-golang@golang-error-handling` skill).

Add golang-design-patterns to your agent in AIniverse

Discover more reusable skills, save them to your stack, get notified when new ones land.

Open in App · skills.sh

More agent skills

find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is...

gstack-autoplan

Fully reviewed plan running CEO → design → eng review automatically.

android-agp-9-upgrade

Upgrades, or migrates, an Android project to use Android Gradle Plugin (AGP) version 9. Do not use this skill for mig...

gstack-benchmark

Baseline page load times, Core Web Vitals, and resource sizes.