go-sapcc-conventions
SAP Converged Cloud Go Conventions
Coding standards extracted from extensive PR review analysis across sapcc/keppel and sapcc/go-bits. These are the real rules enforced in code review by the project's lead review standards. The defining characteristic of SAP CC Go code is aggressive rejection of unnecessary complexity -- when this document conflicts with "Go best practices," this document wins for sapcc code.
Instructions
Phase 1: ORIENT
Read project context and reference files before writing any code. Project conventions override general Go patterns because the lead reviewer evaluates against these specific standards, not generic best practices.
1a. Read CLAUDE.md first because project-level overrides (custom linter config, local build commands, repo-specific patterns) take precedence over this skill's defaults.
1b. Use gopls MCP when available: Run go_workspace at session start, go_file_context after reading .go files, go_symbol_references before modifying any symbol (critical for sapcc -- lead review checks cross-package impact), go_diagnostics after every edit, go_vulncheck after go.mod changes. This gives type-aware analysis that catches issues grep cannot.
1c. Detect Go version from go.mod because sapcc projects typically target Go 1.22+. Use version-appropriate features: t.Context() (1.24+), b.Loop() (1.24+), strings.SplitSeq (1.24+), wg.Go() (1.25+), errors.AsType[T] (1.26+).