Production-grade Go development patterns for building resilient services. Use when developing Go applications, implementing job schedulers, Docker integrations, LDAP clients, or needing patterns for resilience, testing, and performance optimization. By Netresearch.
/plugin marketplace add netresearch/claude-code-marketplace/plugin install netresearch-skills-bundle@netresearch-claude-code-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
LICENSEREADME.mdreferences/api-design.mdreferences/architecture.mdreferences/docker.mdreferences/fuzz-testing.mdreferences/ldap.mdreferences/linting.mdreferences/makefile.mdreferences/mutation-testing.mdreferences/resilience.mdreferences/testing.mdscripts/verify-go-project.shinterface{}, sync.Map, scattered type assertions, reflection[T any], concrete types, compile-time verification| Reference | Purpose |
|---|---|
references/architecture.md | Package structure, config management, middleware chains |
references/resilience.md | Retry logic, graceful shutdown, context propagation |
references/docker.md | Docker client patterns, buffer pooling |
references/ldap.md | LDAP/Active Directory integration |
references/testing.md | Test strategies, build tags, table-driven tests |
references/linting.md | golangci-lint v2, staticcheck, code quality |
references/api-design.md | Bitmask options, functional options, builders |
references/fuzz-testing.md | Go fuzzing patterns, security seeds |
references/mutation-testing.md | Gremlins configuration, test quality measurement |
references/makefile.md | Standard Makefile interface for CI/CD |
project/
├── cmd/ # Entry points (main packages)
├── core/ # Core business logic, domain types
├── cli/ # CLI commands, configuration
├── web/ # HTTP handlers, middleware
├── config/ # Configuration management
├── metrics/ # Observability (Prometheus, logging)
└── internal/ # Private packages
# Unit tests
go test ./...
# With integration tests
go test -tags=integration ./...
# With race detector
go test -race ./...
# With coverage
go test -coverprofile=coverage.out ./...
// Unit (default)
func TestValidation(t *testing.T) { ... }
//go:build integration
func TestDockerExec(t *testing.T) { ... }
//go:build e2e
func TestFullWorkflow(t *testing.T) { ... }
.PHONY: dev-check
dev-check: fmt vet lint security test
lint:
golangci-lint run --timeout 5m
security:
gosec ./...
gitleaks detect
// Errors: lowercase, no punctuation
return errors.New("invalid input")
// Naming: ID, URL, HTTP (not Id, Url, Http)
var userID string
// Error wrapping
return fmt.Errorf("failed to process: %w", err)
See reference files for complete patterns and examples.
This skill is the primary entry point for Go development. For complete project setup, coordinate with:
| Task | Skill |
|---|---|
| Repository setup, branch protection, auto-merge | github-project |
| OpenSSF Scorecard, SLSA provenance, signed releases | enterprise-readiness |
| Security audits (OWASP, CVE analysis) | security-audit |
go-development (this skill)
├── Code quality: linting, testing, fuzzing
├── Standard Makefile: test, build, lint, fuzz
└── Delegates to:
├── github-project → repo setup, CI workflows, branch protection
└── enterprise-readiness → supply chain security, SLSA, signing
Contributing: Improvements to this skill should be submitted to the source repository: https://github.com/netresearch/go-development-skill