Go Practices

Go conventions for hexagonal architecture, project structure, error handling, testing, and observability. Use when writing Go services. Use when this capability is needed.

tomevault-io Updated

File contents

go-practices

Quick Start

  1. Follow hexagonal architecture: business logic in pkg/api/business/, adapters in pkg/api/adapters/
  2. Use snake_case for all Go files
  3. Wrap errors: fmt.Errorf("%w: %w", ErrSentinelError, err)
  4. Run tests with race detection: go test -race ./...

Key Principles

  • Business logic has NO external dependencies
  • All external interactions through interfaces
  • Composition via AppContext (composition root)
  • Table-driven tests with t.Parallel()
  • OpenTelemetry for observability

References

See rules.md for complete conventions.


Converted and distributed by TomeVault — claim your Tome and manage your conversions.

tomevault-io/skills-registry/tree/main/eser--aya-is--go-practices commit 78732db51c

Frequently asked questions

npx skillmds@latest add tomevault-io/go-practices