> golang-configuration

Standards for application configuration using environment variables and libraries. Use when managing Go application config with environment variables or viper. (triggers: configs/**, cmd/**, configuration, env var, viper, koanf)

fetch
$curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/golang-configuration?format=md"
SKILL.mdgolang-configuration

Golang Configuration Standards

Priority: P1 (STANDARD)

Principles

  • 12-Factor App: Store config in environment variables.
  • Typed Config: Load config into a struct, validate it immediately.
  • Secrets: Never commit secrets. Use env vars or secret managers.
  • No Globals: Return a Config struct and inject it.

Libraries

  • Standard Lib: os.Getenv for simple apps.
  • Viper: Industry standard for complex configs (supports env, config files, remote config).
  • Koanf: Lighter, cleaner alternative to Viper.
  • Caarlos0/env: Good for strict struct tagging.

Pattern

  1. Define Config struct.
  2. Load from defaults.
  3. Override from file (optional).
  4. Override from Env (priority).
  5. Validate.

References

🚫 Anti-Patterns

  • Do NOT use standard patterns if specific project rules exist.
  • Do NOT ignore error handling or edge cases.

┌ stats

installs/wk0
░░░░░░░░░░
github stars341
██████████
first seenMar 17, 2026
└────────────

┌ repo

HoangNguyen0403/agent-skills-standard
by HoangNguyen0403
└────────────

┌ tags

└────────────