{"slug":"go","title":"Go","extensions":[".go"],"entry_languages":["Go"],"prompts":343,"repos":30,"sample":[{"repository":"avelino/awesome-go","slug":"avelino-awesome-go","checks":1},{"repository":"ollama/ollama","slug":"ollama-ollama","checks":6},{"repository":"golang/go","slug":"golang-go","checks":2},{"repository":"kubernetes/kubernetes","slug":"kubernetes-kubernetes","checks":2},{"repository":"fatedier/frp","slug":"fatedier-frp","checks":7},{"repository":"gin-gonic/gin","slug":"gin-gonic-gin","checks":3},{"repository":"grafana/grafana","slug":"grafana-grafana","checks":11},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus","checks":10},{"repository":"traefik/traefik","slug":"traefik-traefik","checks":10},{"repository":"wagoodman/dive","slug":"wagoodman-dive","checks":1},{"repository":"hashicorp/terraform","slug":"hashicorp-terraform","checks":2},{"repository":"evanw/esbuild","slug":"evanw-esbuild","checks":5},{"repository":"gofiber/fiber","slug":"gofiber-fiber","checks":6},{"repository":"istio/istio","slug":"istio-istio","checks":1},{"repository":"docker/compose","slug":"docker-compose","checks":2},{"repository":"influxdata/influxdb","slug":"influxdata-influxdb","checks":5},{"repository":"sst/opencode","slug":"sst-opencode","checks":9},{"repository":"opentofu/opentofu","slug":"opentofu-opentofu","checks":5},{"repository":"SigNoz/signoz","slug":"signoz-signoz","checks":11},{"repository":"argoproj/argo-cd","slug":"argoproj-argo-cd","checks":11},{"repository":"vitessio/vitess","slug":"vitessio-vitess","checks":6},{"repository":"gravitational/teleport","slug":"gravitational-teleport","checks":11},{"repository":"wavetermdev/waveterm","slug":"wavetermdev-waveterm","checks":7},{"repository":"kubeflow/kubeflow","slug":"kubeflow-kubeflow","checks":0},{"repository":"temporalio/temporal","slug":"temporalio-temporal","checks":3},{"repository":"bytedance/sonic","slug":"bytedance-sonic","checks":3},{"repository":"maximhq/bifrost","slug":"maximhq-bifrost","checks":12},{"repository":"snyk/cli","slug":"snyk-cli","checks":8},{"repository":"volcano-sh/volcano","slug":"volcano-sh-volcano","checks":3},{"repository":"looplj/axonhub","slug":"looplj-axonhub","checks":7}],"tools":[{"id":"golangci-lint","method":"static_analysis","kind":"linting","languages":["go"],"upstream":"https://github.com/golangci/golangci-lint","docs":null,"autofix":false,"exit_codes":{},"repos":22,"share":73,"commands":["golangci-lint run","golangci-lint --version","golangci-lint run --fix --verbose"],"run":"golangci-lint run","via":"GitHub Action golangci/golangci-lint-action","triggers":["pre_commit","ci","local"],"examples":[{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"kubernetes/kubernetes","slug":"kubernetes-kubernetes"},{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"gin-gonic/gin","slug":"gin-gonic-gin"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"}]},{"id":"go-test","method":"testing","kind":"unit-tests","languages":["go"],"upstream":"https://github.com/golang/go","docs":null,"autofix":false,"exit_codes":{},"repos":19,"share":63,"commands":["go test ./...","go test -v ./internal/command/e2etest","go test $(ESBUILD_RACE) ./cmd/... ./internal/... ./pkg/..."],"run":"go test ./...","via":null,"triggers":["pre_commit","ci","local"],"examples":[{"repository":"avelino/awesome-go","slug":"avelino-awesome-go"},{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"}]},{"id":"ci-matrix","method":"testing","kind":"version-matrix","languages":["*"],"upstream":"https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations","docs":null,"autofix":false,"exit_codes":{},"repos":13,"share":43,"commands":["analyze (language: 2)","analyze (language: 1)","analyze (language: 3)"],"run":"analyze (language: 2)","via":null,"triggers":["ci"],"examples":[{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"gin-gonic/gin","slug":"gin-gonic-gin"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"},{"repository":"evanw/esbuild","slug":"evanw-esbuild"}]},{"id":"codeql","method":"static_analysis","kind":"security-scanning","languages":["*"],"upstream":"https://github.com/github/codeql","docs":null,"autofix":false,"exit_codes":{},"repos":7,"share":23,"commands":["uses github/codeql-action/analyze"],"run":null,"via":"GitHub Action github/codeql-action/analyze","triggers":["ci"],"examples":[{"repository":"gin-gonic/gin","slug":"gin-gonic-gin"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"},{"repository":"argoproj/argo-cd","slug":"argoproj-argo-cd"},{"repository":"vitessio/vitess","slug":"vitessio-vitess"},{"repository":"wavetermdev/waveterm","slug":"wavetermdev-waveterm"}]},{"id":"gofmt","method":"formatting","kind":"formatting","languages":["go"],"upstream":"https://github.com/golang/go","docs":null,"autofix":true,"exit_codes":{},"repos":6,"share":20,"commands":["go fmt ./...","gofmt -s -l -w $(SRCS)","gofmt -s -w ."],"run":"gofumpt -w .","via":null,"triggers":["pre_commit","local"],"examples":[{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"traefik/traefik","slug":"traefik-traefik"},{"repository":"docker/compose","slug":"docker-compose"},{"repository":"maximhq/bifrost","slug":"maximhq-bifrost"},{"repository":"snyk/cli","slug":"snyk-cli"}]},{"id":"go-vet","method":"static_analysis","kind":"linting","languages":["go"],"upstream":"https://github.com/golang/go","docs":null,"autofix":false,"exit_codes":{},"repos":5,"share":17,"commands":["go vet ./...","go vet -tags $(1) -vettool=$(ERRORTYPE) -style-check=false $(2)","go vet -tags $(NOWEB_TAG) ./..."],"run":"go vet ./...","via":null,"triggers":["ci","local"],"examples":[{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"hashicorp/terraform","slug":"hashicorp-terraform"},{"repository":"evanw/esbuild","slug":"evanw-esbuild"},{"repository":"gofiber/fiber","slug":"gofiber-fiber"},{"repository":"temporalio/temporal","slug":"temporalio-temporal"}]},{"id":"codespell","method":"formatting","kind":"spelling","languages":["*"],"upstream":"https://github.com/codespell-project/codespell","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":10,"commands":["uses codespell-project/actions-codespell"],"run":null,"via":"GitHub Action codespell-project/actions-codespell","triggers":["ci"],"examples":[{"repository":"kubernetes/kubernetes","slug":"kubernetes-kubernetes"},{"repository":"gofiber/fiber","slug":"gofiber-fiber"},{"repository":"bytedance/sonic","slug":"bytedance-sonic"}]},{"id":"govulncheck","method":"supply_chain","kind":"dependency-audit","languages":["go"],"upstream":"https://github.com/golang/vuln","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":10,"commands":["govulncheck -format json ./cmd/tofu","govulncheck ./...","uses golang/govulncheck-action"],"run":"govulncheck ./...","via":"GitHub Action golang/govulncheck-action","triggers":["ci"],"examples":[{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"gofiber/fiber","slug":"gofiber-fiber"},{"repository":"opentofu/opentofu","slug":"opentofu-opentofu"}]},{"id":"gitleaks","method":"static_analysis","kind":"secret-scanning","languages":["*"],"upstream":"https://github.com/gitleaks/gitleaks","docs":null,"autofix":false,"exit_codes":{},"repos":2,"share":7,"commands":["pre-commit hook gitleaks"],"run":null,"via":"pre-commit hook gitleaks","triggers":["pre_commit"],"examples":[{"repository":"maximhq/bifrost","slug":"maximhq-bifrost"},{"repository":"snyk/cli","slug":"snyk-cli"}]},{"id":"dependency-review","method":"supply_chain","kind":"dependency-audit","languages":["*"],"upstream":"https://github.com/actions/dependency-review-action","docs":null,"autofix":false,"exit_codes":{},"repos":1,"share":3,"commands":["uses actions/dependency-review-action"],"run":null,"via":"GitHub Action actions/dependency-review-action","triggers":["ci"],"examples":[{"repository":"maximhq/bifrost","slug":"maximhq-bifrost"}]},{"id":"pre-commit-hooks","method":"formatting","kind":"file-hygiene","languages":["*"],"upstream":"https://github.com/pre-commit/pre-commit-hooks","docs":null,"autofix":true,"exit_codes":{},"repos":1,"share":3,"commands":["pre-commit hook end-of-file-fixer","pre-commit hook trailing-whitespace"],"run":null,"via":"pre-commit hook trailing-whitespace","triggers":["pre_commit"],"examples":[{"repository":"maximhq/bifrost","slug":"maximhq-bifrost"}]},{"id":"staticcheck","method":"static_analysis","kind":"linting","languages":["go"],"upstream":"https://github.com/dominikh/go-tools","docs":null,"autofix":false,"exit_codes":{},"repos":1,"share":3,"commands":["staticcheck -checks=U1000 ./... 2>&1"],"run":"staticcheck -checks=U1000 ./... 2>&1","via":null,"triggers":["ci"],"examples":[{"repository":"gofiber/fiber","slug":"gofiber-fiber"}]}],"headline":["gofmt","golangci-lint","go-test"],"raw_md":"https://awesomereviewers.com/raw/verify/go.md","raw_json":"https://awesomereviewers.com/raw/verify/go.json","url":"https://awesomereviewers.com/verify/go/","baseline":{"slug":"every-change","title":"Any change","topics":["Code Style","Naming Conventions"],"checks":[{"kind":"formatting","title":"Formatting","method":"formatting","method_slug":"formatting","catches":"Layout drift that buries the real change in the diff.","tool":{"id":"gofmt","method":"formatting","kind":"formatting","languages":["go"],"upstream":"https://github.com/golang/go","docs":null,"autofix":true,"exit_codes":{},"repos":6,"share":20,"commands":["go fmt ./...","gofmt -s -l -w $(SRCS)","gofmt -s -w ."],"run":"gofumpt -w .","via":null,"triggers":["pre_commit","local"],"examples":[{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"traefik/traefik","slug":"traefik-traefik"},{"repository":"docker/compose","slug":"docker-compose"},{"repository":"maximhq/bifrost","slug":"maximhq-bifrost"},{"repository":"snyk/cli","slug":"snyk-cli"}]},"alternatives":[],"note":null},{"kind":"linting","title":"Linting","method":"static_analysis","method_slug":"static-analysis","catches":"Bug-prone patterns, unused code and conventions the formatter does not cover.","tool":{"id":"golangci-lint","method":"static_analysis","kind":"linting","languages":["go"],"upstream":"https://github.com/golangci/golangci-lint","docs":null,"autofix":false,"exit_codes":{},"repos":22,"share":73,"commands":["golangci-lint run","golangci-lint --version","golangci-lint run --fix --verbose"],"run":"golangci-lint run","via":"GitHub Action golangci/golangci-lint-action","triggers":["pre_commit","ci","local"],"examples":[{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"kubernetes/kubernetes","slug":"kubernetes-kubernetes"},{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"gin-gonic/gin","slug":"gin-gonic-gin"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"}]},"alternatives":[{"id":"go-vet","repos":5,"share":17},{"id":"staticcheck","repos":1,"share":3}],"note":null},{"kind":"type-checking","title":"Type checking","method":"static_analysis","method_slug":"static-analysis","catches":"Wrong types, unhandled null or None, call signatures broken across modules.","tool":null,"alternatives":[],"note":"The compiler type-checks on every build and test run; a failing build is this check failing."},{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":{"id":"go-test","method":"testing","kind":"unit-tests","languages":["go"],"upstream":"https://github.com/golang/go","docs":null,"autofix":false,"exit_codes":{},"repos":19,"share":63,"commands":["go test ./...","go test -v ./internal/command/e2etest","go test $(ESBUILD_RACE) ./cmd/... ./internal/... ./pkg/..."],"run":"go test ./...","via":null,"triggers":["pre_commit","ci","local"],"examples":[{"repository":"avelino/awesome-go","slug":"avelino-awesome-go"},{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"kubernetes-reduce-duplication-for-readability","title":"Reduce Duplication For Readability","description":"Write code so intent is immediately obvious: avoid repeated boilerplate, collapse near-identical branches, and centralize shared logic/values. Practical rules:","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Code Style","language":"Go","updated":"2026-10-25","comments":15,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-reduce-duplication-for-readability.md"},{"slug":"prometheus-consistent-descriptive-naming","title":"Consistent descriptive naming","description":"Ensure variable, function, and type names are consistent, descriptive, and follow Go naming conventions. Names should clearly convey their purpose and maintain consistency across related components.","repository":"prometheus/prometheus","domain":"observability","topic":"Naming Conventions","language":"Go","updated":"2025-07-21","comments":13,"stars":59616,"raw":"https://awesomereviewers.com/raw/prometheus-consistent-descriptive-naming.md"},{"slug":"signoz-consistent-descriptive-naming","title":"consistent descriptive naming","description":"Use meaningful, descriptive names that clearly convey purpose and maintain consistency across similar concepts throughout the codebase. Avoid magic strings, cryptic abbreviations, and inconsistent naming patterns.","repository":"SigNoz/signoz","domain":"observability","topic":"Naming Conventions","language":"Go","updated":"2025-09-02","comments":12,"stars":23369,"raw":"https://awesomereviewers.com/raw/signoz-consistent-descriptive-naming.md"},{"slug":"istio-use-descriptive-names","title":"Use descriptive names","description":"Names should accurately reflect their actual functionality and behavior. Avoid misleading or vague identifiers that don't match what the code actually does.","repository":"istio/istio","domain":"orchestration","topic":"Naming Conventions","language":"Go","updated":"2025-08-18","comments":12,"stars":37192,"raw":"https://awesomereviewers.com/raw/istio-use-descriptive-names.md"},{"slug":"compose-follow-existing-naming-patterns","title":"Follow existing naming patterns","description":"Maintain consistency with established naming conventions throughout the codebase. When adding new flags, functions, or variables, examine existing similar implementations and follow the same patterns for naming, separators, and structure.","repository":"docker/compose","domain":"orchestration","topic":"Naming Conventions","language":"Go","updated":"2025-01-30","comments":12,"stars":35858,"raw":"https://awesomereviewers.com/raw/compose-follow-existing-naming-patterns.md"},{"slug":"bifrost-cohesive-converters-organization","title":"Cohesive Converters Organization","description":"Keep Go files cohesive by responsibility, and make branching/conversion logic easy to extend. **1) Put types where they belong** - Move request/response structs (and their `GetExtraParams` helpers) into `types.go`.","repository":"maximhq/bifrost","domain":"llm-infra","topic":"Code Style","language":"Go","updated":"2026-07-06","comments":11,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-cohesive-converters-organization.md"},{"slug":"volcano-use-descriptive-naming","title":"Use descriptive naming","description":"Choose variable, function, and method names that clearly communicate their purpose and behavior. Avoid ambiguous abbreviations, numbered suffixes, double negatives, and names that don't accurately reflect functionality.","repository":"volcano-sh/volcano","domain":"orchestration","topic":"Naming Conventions","language":"Go","updated":"2025-08-11","comments":11,"stars":4899,"raw":"https://awesomereviewers.com/raw/volcano-use-descriptive-naming.md"},{"slug":"kubernetes-use-semantically-clear-names","title":"Use semantically clear names","description":"Choose names that accurately reflect the actual functionality, purpose, or semantic meaning rather than using generic, misleading, or implementation-focused terms. Names should be self-documenting and help readers understand what the code does without needing additional context.","repository":"kubernetes/kubernetes","domain":"orchestration","topic":"Naming Conventions","language":"Go","updated":"2025-07-23","comments":11,"stars":116489,"raw":"https://awesomereviewers.com/raw/kubernetes-use-semantically-clear-names.md"},{"slug":"teleport-organize-code-by-functionality","title":"Organize code by functionality","description":"Structure code based on what it does rather than how it's implemented. Group related functionality together, extract reusable components, and place code in appropriate packages or files to improve maintainability and readability.","repository":"gravitational/teleport","domain":"security","topic":"Code Style","language":"Go","updated":"2025-09-03","comments":10,"stars":19109,"raw":"https://awesomereviewers.com/raw/teleport-organize-code-by-functionality.md"},{"slug":"kubernetes-simplify-code-structure","title":"simplify code structure","description":"Prioritize code simplification by removing unnecessary complexity, avoiding duplication, and leveraging existing utilities. This improves readability and maintainability while reducing potential bugs.","repository":"kubernetes/kubernetes","domain":"orchestration","topic":"Code Style","language":"Go","updated":"2025-07-23","comments":10,"stars":116489,"raw":"https://awesomereviewers.com/raw/kubernetes-simplify-code-structure.md"},{"slug":"teleport-use-descriptive-names","title":"Use descriptive names","description":"Choose names that clearly indicate their purpose and behavior rather than using generic or ambiguous terms. Avoid internal abbreviations in user-facing content, ensure function names accurately reflect what they do, and prefer specific descriptive terms over generic ones.","repository":"gravitational/teleport","domain":"security","topic":"Naming Conventions","language":"Go","updated":"2025-09-03","comments":9,"stars":19109,"raw":"https://awesomereviewers.com/raw/teleport-use-descriptive-names.md"},{"slug":"volcano-extract-reusable-functions","title":"Extract reusable functions","description":"When you identify duplicate code blocks, complex logic that can be simplified, or functionality that doesn't belong in its current location, extract it into well-named, reusable functions. This improves code organization, reduces duplication, and enhances readability.","repository":"volcano-sh/volcano","domain":"orchestration","topic":"Code Style","language":"Go","updated":"2025-08-20","comments":9,"stars":4899,"raw":"https://awesomereviewers.com/raw/volcano-extract-reusable-functions.md"}],"prompt_count":54},"changes":[{"slug":"security","title":"Authentication, input handling, secrets, permissions","topics":["Security"],"checks":[{"kind":"security-scanning","title":"Security scanning","method":"static_analysis","method_slug":"static-analysis","catches":"Injection, unsafe APIs and tainted data reaching a sink.","tool":{"id":"codeql","method":"static_analysis","kind":"security-scanning","languages":["*"],"upstream":"https://github.com/github/codeql","docs":null,"autofix":false,"exit_codes":{},"repos":7,"share":23,"commands":["uses github/codeql-action/analyze"],"run":null,"via":"GitHub Action github/codeql-action/analyze","triggers":["ci"],"examples":[{"repository":"gin-gonic/gin","slug":"gin-gonic-gin"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"},{"repository":"argoproj/argo-cd","slug":"argoproj-argo-cd"},{"repository":"vitessio/vitess","slug":"vitessio-vitess"},{"repository":"wavetermdev/waveterm","slug":"wavetermdev-waveterm"}]},"alternatives":[],"note":null},{"kind":"secret-scanning","title":"Secret scanning","method":"static_analysis","method_slug":"static-analysis","catches":"Credentials and tokens committed to the repository.","tool":{"id":"gitleaks","method":"static_analysis","kind":"secret-scanning","languages":["*"],"upstream":"https://github.com/gitleaks/gitleaks","docs":null,"autofix":false,"exit_codes":{},"repos":2,"share":7,"commands":["pre-commit hook gitleaks"],"run":null,"via":"pre-commit hook gitleaks","triggers":["pre_commit"],"examples":[{"repository":"maximhq/bifrost","slug":"maximhq-bifrost"},{"repository":"snyk/cli","slug":"snyk-cli"}]},"alternatives":[],"note":null},{"kind":"dependency-audit","title":"Dependency audit","method":"supply_chain","method_slug":"supply-chain","catches":"Known-vulnerable or disallowed dependencies and licenses.","tool":{"id":"govulncheck","method":"supply_chain","kind":"dependency-audit","languages":["go"],"upstream":"https://github.com/golang/vuln","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":10,"commands":["govulncheck -format json ./cmd/tofu","govulncheck ./...","uses golang/govulncheck-action"],"run":"govulncheck ./...","via":"GitHub Action golang/govulncheck-action","triggers":["ci"],"examples":[{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"gofiber/fiber","slug":"gofiber-fiber"},{"repository":"opentofu/opentofu","slug":"opentofu-opentofu"}]},"alternatives":[{"id":"dependency-review","repos":1,"share":3}],"note":null}],"prompts":[{"slug":"bifrost-prevent-secret-leakage","title":"Prevent Secret Leakage","description":"Apply strict trust boundaries to authentication/credential state: - **Reset per-request sensitive fields on reuse** (especially pooled request/contexts). Never let prior request overrides (keys, base URLs, auth headers) bleed into later requests.","repository":"maximhq/bifrost","domain":"llm-infra","topic":"Security","language":"Go","updated":"2026-07-27","comments":10,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-prevent-secret-leakage.md"},{"slug":"kubernetes-security-field-validation","title":"Security Field Validation","description":"When adding or modifying security-sensitive API fields (including fields written by schedulers/kubelets or reflected in Pod/Container security context), enforce the full security invariant end-to-end:","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Security","language":"Go","updated":"2026-10-22","comments":5,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-security-field-validation.md"},{"slug":"axonhub-consistent-authorization-and-auth","title":"Consistent Authorization and Auth","description":"When changing or adding security-sensitive functionality, keep authorization semantics stable and use project-wide shared validation/auth plumbing. Apply this standard:","repository":"looplj/axonhub","domain":"llm-infra","topic":"Security","language":"Go","updated":"2026-07-29","comments":5,"stars":4808,"raw":"https://awesomereviewers.com/raw/axonhub-consistent-authorization-and-auth.md"},{"slug":"kubernetes-prevent-information-disclosure","title":"Prevent information disclosure","description":"Avoid exposing sensitive information through error messages, logs, configuration, or other output channels that might be accessible to unauthorized parties such as cluster administrators or operators.","repository":"kubernetes/kubernetes","domain":"orchestration","topic":"Security","language":"Go","updated":"2025-07-24","comments":4,"stars":116489,"raw":"https://awesomereviewers.com/raw/kubernetes-prevent-information-disclosure.md"},{"slug":"compose-prevent-sensitive-data-exposure","title":"Prevent sensitive data exposure","description":"Implement comprehensive checks to prevent accidental exposure of sensitive data through multiple vectors in configuration files and deployment artifacts. This includes validating environment variables, file permissions, bind mounts, and individual configuration files before publishing or deployment.","repository":"docker/compose","domain":"orchestration","topic":"Security","language":"Go","updated":"2025-06-30","comments":4,"stars":35858,"raw":"https://awesomereviewers.com/raw/compose-prevent-sensitive-data-exposure.md"},{"slug":"grafana-fail-safe-security-defaults","title":"Fail-safe security defaults","description":"Always implement security features with fail-safe defaults that deny access or disable insecure functionality unless explicitly configured. When security-sensitive features must be available in development environments, add explicit environment checks to prevent their use in production.","repository":"grafana/grafana","domain":"observability","topic":"Security","language":"Go","updated":"2025-06-25","comments":4,"stars":68825,"raw":"https://awesomereviewers.com/raw/grafana-fail-safe-security-defaults.md"},{"slug":"argo-cd-validate-untrusted-inputs","title":"Validate untrusted inputs","description":"Always validate and sanitize user-provided inputs to prevent injection attacks, particularly path traversal vulnerabilities. User inputs should be treated as untrusted and validated against expected patterns before use in file operations, URL construction, or system commands.","repository":"argoproj/argo-cd","domain":"orchestration","topic":"Security","language":"Go","updated":"2025-06-17","comments":4,"stars":20149,"raw":"https://awesomereviewers.com/raw/argo-cd-validate-untrusted-inputs.md"},{"slug":"teleport-avoid-overly-broad-permissions","title":"Avoid overly broad permissions","description":"Use specific, scoped permissions instead of wildcards to prevent unintended access to sensitive resources. Wildcard permissions can grant access to critical applications beyond the intended scope, creating security vulnerabilities.","repository":"gravitational/teleport","domain":"security","topic":"Security","language":"Go","updated":"2025-08-29","comments":3,"stars":19109,"raw":"https://awesomereviewers.com/raw/teleport-avoid-overly-broad-permissions.md"},{"slug":"signoz-standardize-authentication-context-extraction","title":"standardize authentication context extraction","description":"Always use the standardized `authtypes.ClaimsFromContext` method for extracting authentication claims from request context, and handle errors properly. This ensures consistent authentication handling across the codebase and prevents potential security vulnerabilities from incorrect claim extraction.","repository":"SigNoz/signoz","domain":"observability","topic":"Security","language":"Go","updated":"2025-05-29","comments":3,"stars":23369,"raw":"https://awesomereviewers.com/raw/signoz-standardize-authentication-context-extraction.md"},{"slug":"volcano-secure-configuration-practices","title":"Secure configuration practices","description":"Implement secure configuration practices to protect sensitive data and prevent security vulnerabilities. This includes three key areas: 1. **Credential Protection**: Never store or transmit passwords and sensitive credentials in plain text. Use encryption tools, secure credential management systems, or environment variables with proper access controls.","repository":"volcano-sh/volcano","domain":"orchestration","topic":"Security","language":"Go","updated":"2025-05-26","comments":3,"stars":4899,"raw":"https://awesomereviewers.com/raw/volcano-secure-configuration-practices.md"},{"slug":"fiber-validate-security-inputs","title":"Validate security inputs","description":"Always validate security-critical inputs to prevent DoS attacks and injection vulnerabilities. Implement size limits, scheme restrictions, and format validation for user-controlled data that affects security mechanisms.","repository":"gofiber/fiber","domain":"app-frameworks","topic":"Security","language":"Go","updated":"2025-04-01","comments":3,"stars":37560,"raw":"https://awesomereviewers.com/raw/fiber-validate-security-inputs.md"},{"slug":"influxdb-explicit-security-parameters","title":"Explicit security parameters","description":"Security-critical features should be implemented as required parameters rather than optional parameters or option functions. This forces developers to make explicit decisions about security settings, preventing accidental omissions that could introduce vulnerabilities.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Security","language":"Go","updated":"2025-02-21","comments":3,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-explicit-security-parameters.md"}],"prompt_count":25},{"slug":"interfaces","title":"Public APIs, signatures, error paths, nullability","topics":["API","Error Handling","Null Handling"],"checks":[{"kind":"type-checking","title":"Type checking","method":"static_analysis","method_slug":"static-analysis","catches":"Wrong types, unhandled null or None, call signatures broken across modules.","tool":null,"alternatives":[],"note":"The compiler type-checks on every build and test run; a failing build is this check failing."},{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":{"id":"go-test","method":"testing","kind":"unit-tests","languages":["go"],"upstream":"https://github.com/golang/go","docs":null,"autofix":false,"exit_codes":{},"repos":19,"share":63,"commands":["go test ./...","go test -v ./internal/command/e2etest","go test $(ESBUILD_RACE) ./cmd/... ./internal/... ./pkg/..."],"run":"go test ./...","via":null,"triggers":["pre_commit","ci","local"],"examples":[{"repository":"avelino/awesome-go","slug":"avelino-awesome-go"},{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"}]},"alternatives":[],"note":null},{"kind":"property-tests","title":"Property-based tests","method":"testing","method_slug":"testing","catches":"Edge-case inputs nobody wrote a test for; invariants over generated data.","tool":null,"alternatives":[],"note":null}],"prompts":[{"slug":"opentofu-craft-actionable-errors","title":"Craft actionable errors","description":"Create error messages that provide precise context, avoid unnecessary details, and give users clear actions to take. Error messages should include location information when possible, avoid jargon, and maintain a consistent tone without being patronizing.","repository":"opentofu/opentofu","domain":"cloud-infra","topic":"Error Handling","language":"Go","updated":"2025-06-02","comments":11,"stars":25901,"raw":"https://awesomereviewers.com/raw/opentofu-craft-actionable-errors.md"},{"slug":"bifrost-streaming-error-invariants","title":"Streaming error invariants","description":"Adopt a single, consistent error-handling strategy for streaming (and other multi-step flows): define retry semantics, tolerate isolated decode/parse errors, enforce terminal/completion invariants, and preserve the failure context needed by downstream billing/logging.","repository":"maximhq/bifrost","domain":"llm-infra","topic":"Error Handling","language":"Go","updated":"2026-07-13","comments":8,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-streaming-error-invariants.md"},{"slug":"kubernetes-api-field-documentation","title":"API field documentation","description":"API fields must be comprehensively documented with clear behavior specifications, format constraints, and interaction details. This includes documenting how fields interact with each other, specifying allowed formats and validation rules, clarifying field semantics and placement decisions, and aligning naming conventions with existing Kubernetes APIs.","repository":"kubernetes/kubernetes","domain":"orchestration","topic":"API","language":"Go","updated":"2025-07-23","comments":8,"stars":116489,"raw":"https://awesomereviewers.com/raw/kubernetes-api-field-documentation.md"},{"slug":"argo-cd-wrap-errors-with-context","title":"Wrap errors with context","description":"When propagating errors up the call stack, always wrap them with contextual information about the failing operation using fmt.Errorf with the %w verb. This practice significantly improves debugging by providing a clear trail of what operations were being performed when the error occurred.","repository":"argoproj/argo-cd","domain":"orchestration","topic":"Error Handling","language":"Go","updated":"2025-05-23","comments":8,"stars":20149,"raw":"https://awesomereviewers.com/raw/argo-cd-wrap-errors-with-context.md"},{"slug":"bifrost-preserve-api-contracts","title":"Preserve API Contracts","description":"Maintain deterministic, provider-compatible API contracts by (1) applying overrides explicitly and attempt-scoped (no hidden side effects), and (2) preserving exact request/response serialization expectations—especially where providers are sensitive to JSON schema structure/order or where passthrough/raw modes must not be rewritten.","repository":"maximhq/bifrost","domain":"llm-infra","topic":"API","language":"Go","updated":"2026-07-21","comments":7,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-preserve-api-contracts.md"},{"slug":"volcano-add-explicit-nil-checks","title":"Add explicit nil checks","description":"Always add explicit nil checks before accessing object properties and after type assertions to prevent null pointer exceptions and runtime panics. Even when type assertions succeed, the underlying value can still be nil, requiring additional validation.","repository":"volcano-sh/volcano","domain":"orchestration","topic":"Null Handling","language":"Go","updated":"2025-08-11","comments":7,"stars":4899,"raw":"https://awesomereviewers.com/raw/volcano-add-explicit-nil-checks.md"},{"slug":"fiber-check-all-error-returns","title":"check all error returns","description":"Always check and handle error returns from function calls, even for operations that seem unlikely to fail. Ignoring errors can lead to silent failures, resource leaks, and unpredictable behavior in production.","repository":"gofiber/fiber","domain":"app-frameworks","topic":"Error Handling","language":"Go","updated":"2025-05-22","comments":7,"stars":37560,"raw":"https://awesomereviewers.com/raw/fiber-check-all-error-returns.md"},{"slug":"cli-handle-all-errors-explicitly","title":"Handle all errors explicitly","description":"Always explicitly handle errors rather than assuming they are handled by dependencies or ignoring them. Every function that returns an error should have that error checked and handled appropriately. Use proper error wrapping with fmt.Errorf and the %w verb to maintain error chains, and ensure resource cleanup with defer statements even when errors occur.","repository":"snyk/cli","domain":"security","topic":"Error Handling","language":"Go","updated":"2024-12-09","comments":7,"stars":5178,"raw":"https://awesomereviewers.com/raw/cli-handle-all-errors-explicitly.md"},{"slug":"kubernetes-propagate-errors-reliably","title":"Propagate Errors Reliably","description":"When implementing error-prone control flow (cleanup helpers, retries/polls, orchestration, allocation paths), do not hide failures. **Coding standard**","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Error Handling","language":"Go","updated":"2026-10-25","comments":6,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-propagate-errors-reliably.md"},{"slug":"kubernetes-null-safe-initialization-and-validation","title":"Null-safe initialization and validation","description":"When dealing with optional fields, feature-gated behavior, or value-or-valueFrom unions, nil safety must be structural—not dependent on caller ordering or duplicated guards.","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Null Handling","language":"Go","updated":"2026-10-21","comments":6,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-null-safe-initialization-and-validation.md"},{"slug":"istio-return-errors-explicitly","title":"Return errors explicitly","description":"Functions should return errors explicitly to callers rather than terminating the program, hiding errors in boolean returns, or using implicit error handling. This allows higher-level code to make appropriate decisions about error handling, recovery, and program flow.","repository":"istio/istio","domain":"orchestration","topic":"Error Handling","language":"Go","updated":"2025-08-19","comments":6,"stars":37192,"raw":"https://awesomereviewers.com/raw/istio-return-errors-explicitly.md"},{"slug":"terraform-contextual-null-checks","title":"Contextual null checks","description":"Use type-appropriate null checking strategies based on the context of your data. For primitive values, ensure they exist before accessing properties. For complex nested structures, use more comprehensive checks like `IsWhollyKnown()` instead of simple `IsKnown()` to verify all nested attributes.","repository":"hashicorp/terraform","domain":"cloud-infra","topic":"Null Handling","language":"Go","updated":"2025-07-08","comments":6,"stars":45532,"raw":"https://awesomereviewers.com/raw/terraform-contextual-null-checks.md"}],"prompt_count":76},{"slug":"services","title":"Service and framework code","topics":["Fastify","NestJS","Spring","Axum","Celery","Temporal"],"checks":[{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":{"id":"go-test","method":"testing","kind":"unit-tests","languages":["go"],"upstream":"https://github.com/golang/go","docs":null,"autofix":false,"exit_codes":{},"repos":19,"share":63,"commands":["go test ./...","go test -v ./internal/command/e2etest","go test $(ESBUILD_RACE) ./cmd/... ./internal/... ./pkg/..."],"run":"go test ./...","via":null,"triggers":["pre_commit","ci","local"],"examples":[{"repository":"avelino/awesome-go","slug":"avelino-awesome-go"},{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"}]},"alternatives":[],"note":null},{"kind":"version-matrix","title":"Version and platform matrix","method":"testing","method_slug":"testing","catches":"Breakage on a runtime version, OS or feature combination you did not run locally.","tool":{"id":"ci-matrix","method":"testing","kind":"version-matrix","languages":["*"],"upstream":"https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations","docs":null,"autofix":false,"exit_codes":{},"repos":13,"share":43,"commands":["analyze (language: 2)","analyze (language: 1)","analyze (language: 3)"],"run":"analyze (language: 2)","via":null,"triggers":["ci"],"examples":[{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"gin-gonic/gin","slug":"gin-gonic-gin"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"},{"repository":"evanw/esbuild","slug":"evanw-esbuild"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"temporal-ensure-deterministic-execution","title":"Ensure deterministic execution","description":"When working with Temporal workflows, maintaining deterministic behavior\\ \\ is critical for reliable replay and execution across distributed systems. \\n\\n\\ Key practices:","repository":"temporalio/temporal","domain":"orchestration","topic":"Temporal","language":"Go","updated":"2025-05-02","comments":4,"stars":14953,"raw":"https://awesomereviewers.com/raw/temporal-ensure-deterministic-execution.md"},{"slug":"vitess-manage-workflow-state-transitions","title":"Manage workflow state transitions","description":"When working with temporal workflows, always implement explicit state transitions rather than abrupt deletions. Workflows should proceed through well-defined states (like running, stopped, or frozen) to ensure proper lifecycle management and durable execution.","repository":"vitessio/vitess","domain":"data-systems","topic":"Temporal","language":"Go","updated":"2025-01-14","comments":2,"stars":19815,"raw":"https://awesomereviewers.com/raw/vitess-manage-workflow-state-transitions.md"}],"prompt_count":2},{"slug":"algorithms","title":"Algorithms, parsers, data transforms","topics":["Algorithms"],"checks":[{"kind":"property-tests","title":"Property-based tests","method":"testing","method_slug":"testing","catches":"Edge-case inputs nobody wrote a test for; invariants over generated data.","tool":null,"alternatives":[],"note":null},{"kind":"fuzzing","title":"Fuzzing","method":"testing","method_slug":"testing","catches":"Crashes, panics and hangs on malformed input, especially in parsers and decoders.","tool":null,"alternatives":[],"note":null},{"kind":"mutation-testing","title":"Mutation testing","method":"testing","method_slug":"testing","catches":"Tests that keep passing whatever the code does.","tool":null,"alternatives":[],"note":null},{"kind":"proofs","title":"Proofs and specifications","method":"formal","method_slug":"formal","catches":"Design-level bugs in protocols and algorithms, checked against a specification.","tool":null,"alternatives":[],"note":null}],"prompts":[{"slug":"volcano-optimize-algorithmic-efficiency","title":"Optimize algorithmic efficiency","description":"Choose efficient algorithms and data structures to minimize computational overhead and improve code maintainability. Prefer positive logic over elimination methods, reuse existing data structures instead of creating new ones, and extract common algorithmic patterns into shared functions.","repository":"volcano-sh/volcano","domain":"orchestration","topic":"Algorithms","language":"Go","updated":"2025-08-27","comments":11,"stars":4899,"raw":"https://awesomereviewers.com/raw/volcano-optimize-algorithmic-efficiency.md"},{"slug":"prometheus-simplify-complex-algorithms","title":"simplify complex algorithms","description":"When implementing algorithms, prioritize simplicity and maintainability over premature optimization. Complex algorithms should be broken down into smaller, reusable components or replaced with simpler approaches when possible.","repository":"prometheus/prometheus","domain":"observability","topic":"Algorithms","language":"Go","updated":"2025-07-07","comments":10,"stars":59616,"raw":"https://awesomereviewers.com/raw/prometheus-simplify-complex-algorithms.md"},{"slug":"bifrost-preserve-aggregation-invariants","title":"Preserve Aggregation Invariants","description":"When transforming/aggregating streamed or ranged data, explicitly define the invariants your algorithm depends on (index meaning, ownership/copy semantics, boundary semantics, and ordering), then implement collision- and edge-case-safe logic with targeted tests.","repository":"maximhq/bifrost","domain":"llm-infra","topic":"Algorithms","language":"Go","updated":"2026-07-23","comments":8,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-preserve-aggregation-invariants.md"},{"slug":"vitess-optimize-data-structures","title":"Optimize data structures","description":"Choose and implement data structures with careful consideration of algorithmic complexity, memory usage, and Go''s specific performance characteristics. Pay attention to:","repository":"vitessio/vitess","domain":"data-systems","topic":"Algorithms","language":"Go","updated":"2025-04-28","comments":6,"stars":19815,"raw":"https://awesomereviewers.com/raw/vitess-optimize-data-structures.md"},{"slug":"ollama-optimize-with-standard-library","title":"Optimize with standard library","description":"When implementing algorithms, prefer using Go's standard library over custom implementations or external dependencies for common operations. The standard library offers well-tested, efficient implementations for many algorithmic needs.","repository":"ollama/ollama","domain":"llm-infra","topic":"Algorithms","language":"Go","updated":"2025-03-12","comments":6,"stars":145704,"raw":"https://awesomereviewers.com/raw/ollama-optimize-with-standard-library.md"},{"slug":"kubernetes-algorithm-invariants-and-ordering","title":"Algorithm invariants and ordering","description":"When implementing complex allocation/selection algorithms, require three things in code review: 1) **Explicit accounting invariants (no double-count / no negative “available”):**","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Algorithms","language":"Go","updated":"2026-10-21","comments":5,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-algorithm-invariants-and-ordering.md"},{"slug":"kubernetes-optimize-search-algorithms","title":"Optimize search algorithms","description":"Implement efficient search strategies that minimize computational overhead through proper ordering, early termination, and targeted scope reduction. This involves three key principles:","repository":"kubernetes/kubernetes","domain":"orchestration","topic":"Algorithms","language":"Go","updated":"2025-07-24","comments":5,"stars":116489,"raw":"https://awesomereviewers.com/raw/kubernetes-optimize-search-algorithms.md"},{"slug":"teleport-optimize-computational-complexity","title":"Optimize computational complexity","description":"Always analyze the computational complexity of algorithms and choose efficient implementations to avoid performance bottlenecks and security vulnerabilities. Pay special attention to avoiding O(N²) algorithms that can create DoS risks, eliminate unnecessary computational overhead, and select appropriate data structures.","repository":"gravitational/teleport","domain":"security","topic":"Algorithms","language":"Go","updated":"2025-09-04","comments":4,"stars":19109,"raw":"https://awesomereviewers.com/raw/teleport-optimize-computational-complexity.md"},{"slug":"argo-cd-optimize-algorithmic-complexity","title":"optimize algorithmic complexity","description":"Always consider computational complexity and performance when implementing algorithms. Look for opportunities to optimize through early exits, efficient comparison strategies, and avoiding nested loops that create O(N*M) complexity.","repository":"argoproj/argo-cd","domain":"orchestration","topic":"Algorithms","language":"Go","updated":"2025-07-15","comments":4,"stars":20149,"raw":"https://awesomereviewers.com/raw/argo-cd-optimize-algorithmic-complexity.md"},{"slug":"opentofu-prevent-backing-array-surprises","title":"Prevent backing array surprises","description":"When modifying slices in Go, be aware that appending to a slice with available capacity will modify the backing array, potentially affecting other slices that share the same backing storage. This can lead to subtle bugs where one operation unexpectedly affects seemingly unrelated variables.","repository":"opentofu/opentofu","domain":"cloud-infra","topic":"Algorithms","language":"Go","updated":"2025-05-14","comments":4,"stars":25901,"raw":"https://awesomereviewers.com/raw/opentofu-prevent-backing-array-surprises.md"},{"slug":"esbuild-algorithm-selection-correctness","title":"Algorithm selection correctness","description":"Choose algorithms that correctly match the problem requirements and understand their computational properties and side effects. Avoid using overly general solutions (like regex) when simpler, more precise algorithms exist.","repository":"evanw/esbuild","domain":"devtools","topic":"Algorithms","language":"Go","updated":"2022-04-19","comments":4,"stars":39161,"raw":"https://awesomereviewers.com/raw/esbuild-algorithm-selection-correctness.md"},{"slug":"temporal-operation-order-affects-correctness","title":"Operation order affects correctness","description":"When implementing algorithms that involve multiple operations (like iteration, validation, and execution), the order of operations can critically affect correctness. Always validate operation ordering to ensure no unintended side effects or lost data.","repository":"temporalio/temporal","domain":"orchestration","topic":"Algorithms","language":"Go","updated":"2025-07-15","comments":3,"stars":14953,"raw":"https://awesomereviewers.com/raw/temporal-operation-order-affects-correctness.md"}],"prompt_count":23},{"slug":"concurrency","title":"Threads, async code, locks, shared state","topics":["Concurrency"],"checks":[{"kind":"concurrency-model-checking","title":"Concurrency model checking","method":"formal","method_slug":"formal","catches":"Races and orderings that fail only under specific interleavings.","tool":null,"alternatives":[],"note":null},{"kind":"ub-detection","title":"Undefined-behaviour detection","method":"formal","method_slug":"formal","catches":"Memory-safety and aliasing violations in unsafe code.","tool":null,"alternatives":[],"note":null},{"kind":"property-tests","title":"Property-based tests","method":"testing","method_slug":"testing","catches":"Edge-case inputs nobody wrote a test for; invariants over generated data.","tool":null,"alternatives":[],"note":null}],"prompts":[{"slug":"kubernetes-cancellation-aware-concurrency","title":"Cancellation Aware Concurrency","description":"When adding or modifying concurrent code, treat context/cancellation, goroutine lifecycle, and state ownership as first-class requirements. Practical standards:","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Concurrency","language":"Go","updated":"2026-10-25","comments":11,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-cancellation-aware-concurrency.md"},{"slug":"bifrost-immutable-snapshots-and-gates","title":"Immutable Snapshots And Gates","description":"When concurrency crosses subsystem boundaries (HTTP handlers, streaming, background workers, plugin hooks), treat shared state as immutable and coordinate lifecycle explicitly.","repository":"maximhq/bifrost","domain":"llm-infra","topic":"Concurrency","language":"Go","updated":"2026-07-28","comments":10,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-immutable-snapshots-and-gates.md"},{"slug":"vitess-prevent-concurrent-access-races","title":"Prevent concurrent access races","description":"When sharing data across goroutines, always use proper synchronization mechanisms to prevent race conditions. Race conditions are difficult to debug and can cause intermittent failures that only appear under load.","repository":"vitessio/vitess","domain":"data-systems","topic":"Concurrency","language":"Go","updated":"2025-02-28","comments":8,"stars":19815,"raw":"https://awesomereviewers.com/raw/vitess-prevent-concurrent-access-races.md"},{"slug":"waveterm-protect-shared-state","title":"Protect shared state","description":"Ensure mutable shared data is never exposed or accessed without explicit synchronization. When data crosses goroutine boundaries you must either copy it, provide a concurrency-safe accessor that returns a snapshot, or protect it with proper synchronization (mutexes, atomics, or reference counting). This prevents races when marshaling, iterating, or doing...","repository":"wavetermdev/waveterm","domain":"devtools","topic":"Concurrency","language":"Go","updated":"2025-02-13","comments":8,"stars":17328,"raw":"https://awesomereviewers.com/raw/waveterm-protect-shared-state.md"},{"slug":"influxdb-lock-with-defer-unlock","title":"Lock with defer unlock","description":"Always follow the lock-defer-unlock pattern when protecting shared resources with mutexes. Acquire the lock, immediately use defer to ensure unlock, then perform operations on the protected resource. This prevents deadlocks and ensures locks are released even when functions exit unexpectedly.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Concurrency","language":"Go","updated":"2025-02-12","comments":8,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-lock-with-defer-unlock.md"},{"slug":"grafana-safe-concurrent-programming","title":"Safe concurrent programming","description":"When working with concurrent code, carefully manage shared resources and synchronization to prevent race conditions, deadlocks, and resource leaks: 1. **Protect shared data**: Always synchronize access to data accessed by multiple goroutines using appropriate primitives like mutexes or channels.","repository":"grafana/grafana","domain":"observability","topic":"Concurrency","language":"Go","updated":"2025-07-04","comments":7,"stars":68825,"raw":"https://awesomereviewers.com/raw/grafana-safe-concurrent-programming.md"},{"slug":"istio-prevent-race-conditions","title":"prevent race conditions","description":"Always protect shared state access and ensure proper synchronization in concurrent operations to prevent race conditions. Key areas to review: 1. **Shared Data Mutation**: Never mutate shared data structures without proper synchronization. If data is accessed by multiple goroutines, use locks or create copies instead of in-place mutations.","repository":"istio/istio","domain":"orchestration","topic":"Concurrency","language":"Go","updated":"2025-08-01","comments":6,"stars":37192,"raw":"https://awesomereviewers.com/raw/istio-prevent-race-conditions.md"},{"slug":"opentofu-safe-lock-patterns","title":"Safe lock patterns","description":"When implementing concurrent operations, ensure locks are acquired and released properly in all execution paths. Always use patterns that guarantee lock release, and document lock acquisition order to prevent deadlocks.","repository":"opentofu/opentofu","domain":"cloud-infra","topic":"Concurrency","language":"Go","updated":"2025-05-14","comments":6,"stars":25901,"raw":"https://awesomereviewers.com/raw/opentofu-safe-lock-patterns.md"},{"slug":"compose-scope-concurrency-control-precisely","title":"Scope concurrency control precisely","description":"Apply concurrency control mechanisms with precise scope to prevent both race conditions and unnecessary blocking. Use appropriate synchronization tools (mutex, channels, errgroup) only around critical sections that actually require protection.","repository":"docker/compose","domain":"orchestration","topic":"Concurrency","language":"Go","updated":"2025-06-30","comments":5,"stars":35858,"raw":"https://awesomereviewers.com/raw/compose-scope-concurrency-control-precisely.md"},{"slug":"argo-cd-choose-appropriate-synchronization-primitives","title":"Choose appropriate synchronization primitives","description":"Select the right synchronization mechanism based on your specific use case to avoid performance regressions and ensure thread safety. Follow these guidelines:","repository":"argoproj/argo-cd","domain":"orchestration","topic":"Concurrency","language":"Go","updated":"2025-06-17","comments":5,"stars":20149,"raw":"https://awesomereviewers.com/raw/argo-cd-choose-appropriate-synchronization-primitives.md"},{"slug":"ollama-document-synchronization-intent","title":"Document synchronization intent","description":"Always clearly document the purpose and scope of synchronization primitives (mutexes, read-write locks) by: 1. Placing them directly adjacent to the data they protect","repository":"ollama/ollama","domain":"llm-infra","topic":"Concurrency","language":"Go","updated":"2025-05-01","comments":5,"stars":145704,"raw":"https://awesomereviewers.com/raw/ollama-document-synchronization-intent.md"},{"slug":"teleport-synchronization-primitive-selection","title":"Synchronization primitive selection","description":"Choose appropriate synchronization primitives and ensure proper protection of shared state to avoid race conditions and deadlocks. Prefer regular mutexes over RWMutex unless read-heavy workloads justify the complexity, as RWMutex can be a performance trap. When accessing shared state, ensure the entire read-modify-write operation is atomic by keeping it...","repository":"gravitational/teleport","domain":"security","topic":"Concurrency","language":"Go","updated":"2025-08-27","comments":4,"stars":19109,"raw":"https://awesomereviewers.com/raw/teleport-synchronization-primitive-selection.md"}],"prompt_count":20},{"slug":"networking","title":"Network calls, retries, timeouts, protocols","topics":["Networking","Axios"],"checks":[{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":{"id":"go-test","method":"testing","kind":"unit-tests","languages":["go"],"upstream":"https://github.com/golang/go","docs":null,"autofix":false,"exit_codes":{},"repos":19,"share":63,"commands":["go test ./...","go test -v ./internal/command/e2etest","go test $(ESBUILD_RACE) ./cmd/... ./internal/... ./pkg/..."],"run":"go test ./...","via":null,"triggers":["pre_commit","ci","local"],"examples":[{"repository":"avelino/awesome-go","slug":"avelino-awesome-go"},{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"}]},"alternatives":[],"note":null},{"kind":"fuzzing","title":"Fuzzing","method":"testing","method_slug":"testing","catches":"Crashes, panics and hangs on malformed input, especially in parsers and decoders.","tool":null,"alternatives":[],"note":null}],"prompts":[{"slug":"kubernetes-streaming-network-safety","title":"Streaming network safety","description":"When adding or modifying network transports/proxies/stream multiplexing (HTTP RoundTripper, SPDY↔websocket translators, port-forward websockets), treat it as a lifecycle + overload problem:","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Networking","language":"Go","updated":"2026-10-25","comments":6,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-streaming-network-safety.md"},{"slug":"waveterm-use-network-timeouts","title":"Use network timeouts","description":"Ensure all network operations are cancellable, timeout-protected, and executed where the resource lives. Motivation - Network calls can hang, run on the wrong machine, or transfer too much data. Apply consistent patterns to avoid resource leaks, unresponsive reads, and incorrect behavior when operating on remote resources.","repository":"wavetermdev/waveterm","domain":"devtools","topic":"Networking","language":"Go","updated":"2025-02-06","comments":6,"stars":17328,"raw":"https://awesomereviewers.com/raw/waveterm-use-network-timeouts.md"},{"slug":"go-use-proper-network-constants","title":"Use proper network constants","description":"When writing network-related code, always use named constants from system packages instead of magic numbers, and ensure complete protocol implementation. This includes using proper constants for network operations (like `windows.IfOperStatusUp` instead of `0x01`), calculating buffer sizes correctly with system functions (like `syscall.CmsgSpace(4)` for file...","repository":"golang/go","domain":"runtimes","topic":"Networking","language":"Go","updated":"2022-10-17","comments":6,"stars":129599,"raw":"https://awesomereviewers.com/raw/go-use-proper-network-constants.md"},{"slug":"istio-network-configuration-consistency","title":"network configuration consistency","description":"Ensure network-related configurations remain consistent across different components and avoid unintended overwrites that could break connectivity or security.","repository":"istio/istio","domain":"orchestration","topic":"Networking","language":"Go","updated":"2025-08-14","comments":5,"stars":37192,"raw":"https://awesomereviewers.com/raw/istio-network-configuration-consistency.md"},{"slug":"frp-connection-lifecycle-management","title":"Connection lifecycle management","description":"Implement comprehensive lifecycle management for network connections. Ensure proper initialization, authentication, monitoring, and termination of connections to maintain system reliability and performance.","repository":"fatedier/frp","domain":"cloud-infra","topic":"Networking","language":"Go","updated":"2022-01-12","comments":5,"stars":95938,"raw":"https://awesomereviewers.com/raw/frp-connection-lifecycle-management.md"},{"slug":"ragflow-http-timeout-strategy","title":"HTTP Timeout Strategy","description":"Standardize how you apply timeouts for outbound HTTP requests. - If the shared `http.Client` already sets `Timeout`, do **not** also wrap each request with `context.WithTimeout` (it’s redundant and can make behavior harder to reason about).","repository":"infiniflow/ragflow","domain":"llm-infra","topic":"Networking","language":"Go","updated":"2026-05-09","comments":4,"stars":80174,"raw":"https://awesomereviewers.com/raw/ragflow-http-timeout-strategy.md"},{"slug":"traefik-network-information-extraction","title":"Network information extraction","description":"When extracting network information from connections (such as remote addresses, proxy IPs, or forwarded headers), implement robust extraction methods that don't depend on specific connection wrapper ordering or implementation details. Use iterative unwrapping patterns and ensure all relevant network information is properly preserved and forwarded.","repository":"traefik/traefik","domain":"cloud-infra","topic":"Networking","language":"Go","updated":"2025-04-27","comments":4,"stars":55772,"raw":"https://awesomereviewers.com/raw/traefik-network-information-extraction.md"},{"slug":"temporal-context-aware-network-calls","title":"Context-aware network calls","description":"Always propagate context through network calls to ensure proper cancellation, timeout handling, and tracing. For HTTP requests, use `http.NewRequestWithContext()` instead of `http.Post()` or `http.Get()`. For gRPC, ensure context is passed and enriched with necessary metadata.","repository":"temporalio/temporal","domain":"orchestration","topic":"Networking","language":"Go","updated":"2025-06-20","comments":3,"stars":14953,"raw":"https://awesomereviewers.com/raw/temporal-context-aware-network-calls.md"},{"slug":"compose-network-api-precision","title":"Network API precision","description":"Use the appropriate Docker network API method based on the specific behavior you need. NetworkList and NetworkInspect have different matching behaviors that can lead to unexpected results if used incorrectly.","repository":"docker/compose","domain":"orchestration","topic":"Networking","language":"Go","updated":"2025-04-09","comments":3,"stars":35858,"raw":"https://awesomereviewers.com/raw/compose-network-api-precision.md"},{"slug":"vitess-robust-network-handling","title":"Robust network handling","description":"Always implement proper network timeout handling and address formatting to ensure robust connectivity across different network conditions and IP protocols.","repository":"vitessio/vitess","domain":"data-systems","topic":"Networking","language":"Go","updated":"2025-02-24","comments":3,"stars":19815,"raw":"https://awesomereviewers.com/raw/vitess-robust-network-handling.md"},{"slug":"fiber-enforce-secure-tls-configuration","title":"Enforce secure TLS configuration","description":"Always configure TLS connections with secure minimum version requirements and proper certificate handling. Network communications should enforce TLS 1.2 or higher to prevent security vulnerabilities from outdated protocols.","repository":"gofiber/fiber","domain":"app-frameworks","topic":"Networking","language":"Go","updated":"2024-11-12","comments":3,"stars":37560,"raw":"https://awesomereviewers.com/raw/fiber-enforce-secure-tls-configuration.md"},{"slug":"grafana-use-dynamic-port-allocation","title":"Use dynamic port allocation","description":"When writing tests that require network services (HTTP, gRPC, or custom protocols), use port 0 to let the operating system assign available ports rather than hard-coding specific port numbers. Hard-coded ports can cause conflicts when multiple tests run simultaneously, leading to flaky tests.","repository":"grafana/grafana","domain":"observability","topic":"Networking","language":"Go","updated":"2025-06-27","comments":2,"stars":68825,"raw":"https://awesomereviewers.com/raw/grafana-use-dynamic-port-allocation.md"}],"prompt_count":15},{"slug":"ui","title":"UI components and pages","topics":["React","Next","Next.js","Vue","Angular"],"checks":[{"kind":"browser-tests","title":"End-to-end browser tests","method":"testing","method_slug":"testing","catches":"User flows broken across components, routing and the network.","tool":null,"alternatives":[],"note":null},{"kind":"linting","title":"Linting","method":"static_analysis","method_slug":"static-analysis","catches":"Bug-prone patterns, unused code and conventions the formatter does not cover.","tool":{"id":"golangci-lint","method":"static_analysis","kind":"linting","languages":["go"],"upstream":"https://github.com/golangci/golangci-lint","docs":null,"autofix":false,"exit_codes":{},"repos":22,"share":73,"commands":["golangci-lint run","golangci-lint --version","golangci-lint run --fix --verbose"],"run":"golangci-lint run","via":"GitHub Action golangci/golangci-lint-action","triggers":["pre_commit","ci","local"],"examples":[{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"kubernetes/kubernetes","slug":"kubernetes-kubernetes"},{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"gin-gonic/gin","slug":"gin-gonic-gin"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"}]},"alternatives":[{"id":"go-vet","repos":5,"share":17},{"id":"staticcheck","repos":1,"share":3}],"note":null}],"prompts":[],"prompt_count":0},{"slug":"data","title":"Databases, migrations, caching","topics":["Database","Migrations","Caching"],"checks":[{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":{"id":"go-test","method":"testing","kind":"unit-tests","languages":["go"],"upstream":"https://github.com/golang/go","docs":null,"autofix":false,"exit_codes":{},"repos":19,"share":63,"commands":["go test ./...","go test -v ./internal/command/e2etest","go test $(ESBUILD_RACE) ./cmd/... ./internal/... ./pkg/..."],"run":"go test ./...","via":null,"triggers":["pre_commit","ci","local"],"examples":[{"repository":"avelino/awesome-go","slug":"avelino-awesome-go"},{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"}]},"alternatives":[],"note":null},{"kind":"version-matrix","title":"Version and platform matrix","method":"testing","method_slug":"testing","catches":"Breakage on a runtime version, OS or feature combination you did not run locally.","tool":{"id":"ci-matrix","method":"testing","kind":"version-matrix","languages":["*"],"upstream":"https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations","docs":null,"autofix":false,"exit_codes":{},"repos":13,"share":43,"commands":["analyze (language: 2)","analyze (language: 1)","analyze (language: 3)"],"run":"analyze (language: 2)","via":null,"triggers":["ci"],"examples":[{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"gin-gonic/gin","slug":"gin-gonic-gin"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"},{"repository":"evanw/esbuild","slug":"evanw-esbuild"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"bifrost-deterministic-db-semantics","title":"Deterministic DB Semantics","description":"Make database changes (queries, migrations, and tests) explicit about shape and semantics: don’t rely on driver defaults, cached plan inference, or “looks right” reads when the DB can mask the truth.","repository":"maximhq/bifrost","domain":"llm-infra","topic":"Database","language":"Go","updated":"2026-07-28","comments":7,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-deterministic-db-semantics.md"},{"slug":"bifrost-stability-first-caching","title":"Stability-First Caching","description":"When caching affects externally visible payloads (prompts, auth/JWT inputs, token summaries), ensure the *serialized representation used for cache identity is deterministic* and the cache has an *explicit validity boundary*.","repository":"maximhq/bifrost","domain":"llm-infra","topic":"Caching","language":"Go","updated":"2026-07-20","comments":7,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-stability-first-caching.md"},{"slug":"bifrost-stable-backward-compatible-migrations","title":"Stable Backward-Compatible Migrations","description":"When adding schema/config fields, design migrations to be stable across upgrade/downgrade boundaries: - Handle “unset vs default” explicitly in config-store: store a sentinel/unset value (commonly `0`), ensure getters apply the real default (e.g., 15), and ensure config hashing only incorporates the field when it is explicitly set (non-zero). Add a test...","repository":"maximhq/bifrost","domain":"llm-infra","topic":"Migrations","language":"Go","updated":"2026-07-22","comments":5,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-stable-backward-compatible-migrations.md"},{"slug":"signoz-ensure-migration-idempotency","title":"ensure migration idempotency","description":"Database migrations must be designed to run safely multiple times without causing errors or data corruption. This involves using structured migration APIs instead of raw SQL, implementing proper checks for existing state, and avoiding unnecessary complexity that could lead to failures.","repository":"SigNoz/signoz","domain":"observability","topic":"Migrations","language":"Go","updated":"2025-08-26","comments":4,"stars":23369,"raw":"https://awesomereviewers.com/raw/signoz-ensure-migration-idempotency.md"},{"slug":"grafana-minimize-database-joins","title":"Minimize database joins","description":"Prefer direct filtering or specialized service methods over complex JOIN operations, especially when maintaining or refactoring database access patterns. JOINs across multiple tables can impact performance and make code more difficult to maintain, particularly during architectural migrations.","repository":"grafana/grafana","domain":"observability","topic":"Database","language":"Go","updated":"2025-06-30","comments":4,"stars":68825,"raw":"https://awesomereviewers.com/raw/grafana-minimize-database-joins.md"},{"slug":"vitess-use-parameterized-queries","title":"Use parameterized queries","description":"Always use parameterized queries with bind variables instead of string concatenation or formatting when constructing SQL statements. This prevents SQL injection attacks and improves query performance through better statement caching.","repository":"vitessio/vitess","domain":"data-systems","topic":"Database","language":"Go","updated":"2025-06-11","comments":4,"stars":19815,"raw":"https://awesomereviewers.com/raw/vitess-use-parameterized-queries.md"},{"slug":"axonhub-deterministic-cache-keys","title":"Deterministic Cache Keys","description":"Cache keys must be built only from inputs that truly change model output, and must be deterministic, complete, and cheap to compute. **Rules** 1. **Derive keys from a stable message “anchor”.** If using conversation head hashing, explicitly define which roles and how many bytes you consider (e.g., contiguous leading `system`/`developer`, plus first...","repository":"looplj/axonhub","domain":"llm-infra","topic":"Caching","language":"Go","updated":"2026-07-18","comments":3,"stars":4808,"raw":"https://awesomereviewers.com/raw/axonhub-deterministic-cache-keys.md"},{"slug":"signoz-use-database-transactions","title":"Use database transactions","description":"Always use database transactions when performing operations that require atomicity or could create race conditions. This includes scenarios where you check for existence before creating/updating records, or when multiple related database operations must succeed or fail together.","repository":"SigNoz/signoz","domain":"observability","topic":"Database","language":"Go","updated":"2025-07-29","comments":3,"stars":23369,"raw":"https://awesomereviewers.com/raw/signoz-use-database-transactions.md"},{"slug":"influxdb-complete-schema-management","title":"Complete schema management","description":"When working with database systems that have flexible schemas (like InfluxDB), ensure complete schema discovery and proper merging from all data sources before processing operations. Incomplete schema handling leads to missing columns, data corruption, or export failures.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Database","language":"Go","updated":"2024-09-05","comments":3,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-complete-schema-management.md"},{"slug":"teleport-database-query-parameter-hygiene","title":"Database query parameter hygiene","description":"Ensure all database query parameters serve a clear purpose and are properly utilized. Remove unused filter parameters that create confusion and verify that necessary filtering conditions are not accidentally omitted during refactoring.","repository":"gravitational/teleport","domain":"security","topic":"Database","language":"Go","updated":"2025-09-05","comments":2,"stars":19109,"raw":"https://awesomereviewers.com/raw/teleport-database-query-parameter-hygiene.md"},{"slug":"signoz-justify-caching-strategies","title":"justify caching strategies","description":"When implementing caching solutions, clearly document and justify your caching strategy decisions based on access patterns, performance requirements, and complexity trade-offs. Consider whether the benefits of complex caching approaches outweigh simpler alternatives.","repository":"SigNoz/signoz","domain":"observability","topic":"Caching","language":"Go","updated":"2025-06-12","comments":2,"stars":23369,"raw":"https://awesomereviewers.com/raw/signoz-justify-caching-strategies.md"},{"slug":"waveterm-centralize-database-operations","title":"Centralize database operations","description":"Keep all SQL and DB-specific logic in a single dbops layer and expose a small, consistent API that handles common patterns: insert/update (use REPLACE/UPSERT), delete, queries, and serialization of complex fields. Motivation: reduces duplicated SQL across packages, avoids mismatch between INSERT vs UPDATE code paths, and centralizes...","repository":"wavetermdev/waveterm","domain":"devtools","topic":"Database","language":"Go","updated":"2024-04-17","comments":2,"stars":17328,"raw":"https://awesomereviewers.com/raw/waveterm-centralize-database-operations.md"}],"prompt_count":12},{"slug":"performance","title":"Hot paths and performance","topics":["Performance Optimization"],"checks":[],"prompts":[{"slug":"fiber-minimize-memory-allocations","title":"minimize memory allocations","description":"Prioritize reducing memory allocations and choosing efficient data structures to improve performance. Avoid unnecessary string/byte conversions, use maps for O(1) lookups instead of slices, and leverage compiler optimizations where possible.","repository":"gofiber/fiber","domain":"app-frameworks","topic":"Performance Optimization","language":"Go","updated":"2025-07-20","comments":9,"stars":37560,"raw":"https://awesomereviewers.com/raw/fiber-minimize-memory-allocations.md"},{"slug":"prometheus-minimize-memory-allocations","title":"minimize memory allocations","description":"Prioritize memory allocation minimization through buffer reuse, pre-allocation, and efficient data structures. Allocations are among the worst performance bottlenecks, especially in hot paths and frequently called functions.","repository":"prometheus/prometheus","domain":"observability","topic":"Performance Optimization","language":"Go","updated":"2025-06-17","comments":9,"stars":59616,"raw":"https://awesomereviewers.com/raw/prometheus-minimize-memory-allocations.md"},{"slug":"bifrost-bounded-targeted-performance","title":"Bounded, Targeted Performance","description":"When optimizing performance, avoid whole-object work and unbounded resource growth. Apply these standards: 1) Targeted extraction/rewrites (no full parsing)","repository":"maximhq/bifrost","domain":"llm-infra","topic":"Performance Optimization","language":"Go","updated":"2026-07-23","comments":8,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-bounded-targeted-performance.md"},{"slug":"volcano-avoid-redundant-operations","title":"Avoid redundant operations","description":"Eliminate duplicate computations, unnecessary API calls, and redundant processing to improve performance and reduce system load. This includes avoiding duplicate function calls, minimizing API server requests, and implementing early returns or caching to prevent redundant work.","repository":"volcano-sh/volcano","domain":"orchestration","topic":"Performance Optimization","language":"Go","updated":"2025-08-04","comments":7,"stars":4899,"raw":"https://awesomereviewers.com/raw/volcano-avoid-redundant-operations.md"},{"slug":"kubernetes-avoid-unnecessary-work","title":"Avoid unnecessary work","description":"Optimize performance by avoiding unnecessary computations, allocations, and operations. Use feature gates, lazy evaluation, and conditional logic to prevent work that won't be used.","repository":"kubernetes/kubernetes","domain":"orchestration","topic":"Performance Optimization","language":"Go","updated":"2025-07-23","comments":7,"stars":116489,"raw":"https://awesomereviewers.com/raw/kubernetes-avoid-unnecessary-work.md"},{"slug":"kubernetes-optimize-hot-paths","title":"Optimize Hot Paths","description":"When a change affects a scheduler/kubelet hot path, avoid quadratic or repeated work: do expensive filtering/KeepOnly/sorting only in the specific variant that needs it, and precompute indexes/sorted structures once outside inner loops. If the faster algorithm depends on input sizes, make iteration strategy adaptive to prevent worst-case slowdowns, and...","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Performance Optimization","language":"Go","updated":"2026-10-23","comments":6,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-optimize-hot-paths.md"},{"slug":"istio-avoid-expensive-operations","title":"Avoid expensive operations","description":"Identify and eliminate computationally expensive operations in frequently executed code paths. Common expensive operations include repeated computations, unbounded API calls, inefficient string operations, and operations that don't scale with data size.","repository":"istio/istio","domain":"orchestration","topic":"Performance Optimization","language":"Go","updated":"2025-08-14","comments":6,"stars":37192,"raw":"https://awesomereviewers.com/raw/istio-avoid-expensive-operations.md"},{"slug":"temporal-precompute-and-cache","title":"Precompute and cache","description":"Avoid performing expensive operations repeatedly, especially in hot code paths. Identify operations such as parsing, deserialization, or configuration lookups that can be done once and reused.","repository":"temporalio/temporal","domain":"orchestration","topic":"Performance Optimization","language":"Go","updated":"2025-06-25","comments":6,"stars":14953,"raw":"https://awesomereviewers.com/raw/temporal-precompute-and-cache.md"},{"slug":"teleport-minimize-unnecessary-allocations","title":"minimize unnecessary allocations","description":"Avoid unnecessary memory allocations in performance-critical code paths, especially in frequently executed functions or loops that process large datasets. Common allocation sources to eliminate include:","repository":"gravitational/teleport","domain":"security","topic":"Performance Optimization","language":"Go","updated":"2025-09-04","comments":5,"stars":19109,"raw":"https://awesomereviewers.com/raw/teleport-minimize-unnecessary-allocations.md"},{"slug":"vitess-optimize-memory-allocation","title":"Optimize memory allocation","description":"Always allocate data structures with appropriate initial capacity and use memory-efficient data types to reduce memory pressure and improve application performance. Pre-allocate containers when the size is known or can be estimated, avoid unnecessary intermediate data structures, and choose compact data representations.","repository":"vitessio/vitess","domain":"data-systems","topic":"Performance Optimization","language":"Go","updated":"2025-06-22","comments":5,"stars":19815,"raw":"https://awesomereviewers.com/raw/vitess-optimize-memory-allocation.md"},{"slug":"grafana-optimize-performance-patterns","title":"Optimize performance patterns","description":"Choose efficient implementation patterns that improve performance. Apply these optimizations throughout your code: 1. **Avoid redundant operations**: Store results of expensive lookups rather than repeating them.","repository":"grafana/grafana","domain":"observability","topic":"Performance Optimization","language":"Go","updated":"2025-07-02","comments":4,"stars":68825,"raw":"https://awesomereviewers.com/raw/grafana-optimize-performance-patterns.md"},{"slug":"ollama-reuse-buffers-strategically","title":"Reuse buffers strategically","description":"For frequently called methods or hot code paths, reuse allocations instead of creating new buffers on each call. This significantly reduces GC pressure and improves performance in memory-intensive operations.","repository":"ollama/ollama","domain":"llm-infra","topic":"Performance Optimization","language":"Go","updated":"2025-05-06","comments":4,"stars":145704,"raw":"https://awesomereviewers.com/raw/ollama-reuse-buffers-strategically.md"}],"prompt_count":17},{"slug":"ai","title":"Model, prompt and LLM code","topics":["AI","Pytorch"],"checks":[{"kind":"unit-tests","title":"Unit and integration tests","method":"testing","method_slug":"testing","catches":"Behaviour regressions on the paths the tests exercise.","tool":{"id":"go-test","method":"testing","kind":"unit-tests","languages":["go"],"upstream":"https://github.com/golang/go","docs":null,"autofix":false,"exit_codes":{},"repos":19,"share":63,"commands":["go test ./...","go test -v ./internal/command/e2etest","go test $(ESBUILD_RACE) ./cmd/... ./internal/... ./pkg/..."],"run":"go test ./...","via":null,"triggers":["pre_commit","ci","local"],"examples":[{"repository":"avelino/awesome-go","slug":"avelino-awesome-go"},{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"fatedier/frp","slug":"fatedier-frp"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"ollama-abstract-model-operations-cleanly","title":"Abstract model operations cleanly","description":"When implementing AI model operations, create clean abstractions through interfaces that separate core mathematical operations from specific implementations. This enables:","repository":"ollama/ollama","domain":"llm-infra","topic":"AI","language":"Go","updated":"2025-02-21","comments":5,"stars":145704,"raw":"https://awesomereviewers.com/raw/ollama-abstract-model-operations-cleanly.md"},{"slug":"axonhub-scoped-provider-transformations","title":"Scoped Provider Transformations","description":"When implementing AI/LLM request transformers (especially for proxies), make provider-specific shaping: 1) **Scoped and structured**: Clone the incoming `llm.Request` and apply provider/CLI-specific changes via existing structured fields **before** delegating to the shared/base transformer whenever possible. Avoid raw `[]byte` request-body manipulation...","repository":"looplj/axonhub","domain":"llm-infra","topic":"AI","language":"Go","updated":"2026-01-24","comments":2,"stars":4808,"raw":"https://awesomereviewers.com/raw/axonhub-scoped-provider-transformations.md"}],"prompt_count":2},{"slug":"observability","title":"Logging, metrics, tracing","topics":["Logging","Observability"],"checks":[],"prompts":[{"slug":"kubernetes-observability-signal-quality","title":"Observability Signal Quality","description":"When changing or adding metrics/traces, make signals stable, accurate, and alert-friendly. **Apply these rules before submitting:** 1) **Preserve metric semantics and document scope**","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Observability","language":"Go","updated":"2026-10-25","comments":9,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-observability-signal-quality.md"},{"slug":"prometheus-metrics-registration-lifecycle","title":"metrics registration lifecycle","description":"Ensure proper metrics registration and lifecycle management to maintain observability system stability. Handle metric registration/unregistration correctly during configuration changes and avoid common pitfalls that can cause panics or data loss.","repository":"prometheus/prometheus","domain":"observability","topic":"Observability","language":"Go","updated":"2025-06-18","comments":8,"stars":59616,"raw":"https://awesomereviewers.com/raw/prometheus-metrics-registration-lifecycle.md"},{"slug":"opentofu-log-effectively-for-debugging","title":"Log effectively for debugging","description":"Always include meaningful log messages at appropriate levels to aid in debugging and system monitoring. Follow these guidelines: 1. **Never silently swallow errors** - Even during cleanup operations, log errors that might be helpful for debugging:","repository":"opentofu/opentofu","domain":"cloud-infra","topic":"Logging","language":"Go","updated":"2025-06-10","comments":8,"stars":25901,"raw":"https://awesomereviewers.com/raw/opentofu-log-effectively-for-debugging.md"},{"slug":"cli-use-centralized-loggers","title":"Use centralized loggers","description":"Always use centrally supplied loggers from the invocation context or configuration instead of creating new logger instances, using log.Default(), or direct output methods like fmt.Println(). This ensures consistent debug configuration, proper log level control, and centralized logging behavior across the entire application.","repository":"snyk/cli","domain":"security","topic":"Logging","language":"Go","updated":"2024-10-07","comments":8,"stars":5178,"raw":"https://awesomereviewers.com/raw/cli-use-centralized-loggers.md"},{"slug":"kubernetes-implement-proper-observability","title":"implement proper observability","description":"Ensure observability mechanisms (events and metrics) are implemented correctly with appropriate types, accurate labeling, and user-focused messaging. Use events for user-visible information that appears in `kubectl describe`, not just internal logging. Choose correct event types (`EventTypeNormal` for waiting states, `EventTypeWarning` for actual failures)...","repository":"kubernetes/kubernetes","domain":"orchestration","topic":"Observability","language":"Go","updated":"2025-07-22","comments":7,"stars":116489,"raw":"https://awesomereviewers.com/raw/kubernetes-implement-proper-observability.md"},{"slug":"bifrost-low-noise-instance-safe-logs","title":"Low-noise, instance-safe logs","description":"When adding or modifying logging, follow these rules: 1) **Attribute logs to the right component/instance** - Avoid process-global logging hooks/state when a per-instance logger exists.","repository":"maximhq/bifrost","domain":"llm-infra","topic":"Logging","language":"Go","updated":"2026-07-17","comments":6,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-low-noise-instance-safe-logs.md"},{"slug":"argo-cd-structured-logging-practices","title":"structured logging practices","description":"Use structured logging with proper context and consolidate related log messages. Instead of multiple separate log statements or string interpolation, use structured fields that are parseable by log tools and provide sufficient context for debugging.","repository":"argoproj/argo-cd","domain":"orchestration","topic":"Logging","language":"Go","updated":"2025-06-30","comments":5,"stars":20149,"raw":"https://awesomereviewers.com/raw/argo-cd-structured-logging-practices.md"},{"slug":"grafana-standardize-observability-semantic-conventions","title":"Standardize observability semantic conventions","description":"When implementing observability features (logs, metrics, traces), use consistent semantic conventions to ensure data can be correlated and analyzed efficiently across the entire system.","repository":"grafana/grafana","domain":"observability","topic":"Observability","language":"Go","updated":"2025-06-27","comments":5,"stars":68825,"raw":"https://awesomereviewers.com/raw/grafana-standardize-observability-semantic-conventions.md"},{"slug":"volcano-use-structured-logging","title":"Use structured logging","description":"Always use structured logging methods like klog.InfoS and klog.ErrorS instead of unstructured methods like klog.Infoln, klog.Infof, or klog.Errorln. Structured logging improves log parsing, analysis, and monitoring capabilities. Additionally, ensure log messages are clear, descriptive, and provide complete context about actions taken and values being set.","repository":"volcano-sh/volcano","domain":"orchestration","topic":"Logging","language":"Go","updated":"2025-06-16","comments":5,"stars":4899,"raw":"https://awesomereviewers.com/raw/volcano-use-structured-logging.md"},{"slug":"temporal-optimize-metrics-label-cardinality","title":"Optimize metrics label cardinality","description":"Carefully manage metric label cardinality to prevent excessive memory usage and maintain system performance. Follow these guidelines: 1. Separate high-cardinality metrics:","repository":"temporalio/temporal","domain":"orchestration","topic":"Observability","language":"Go","updated":"2025-05-28","comments":5,"stars":14953,"raw":"https://awesomereviewers.com/raw/temporal-optimize-metrics-label-cardinality.md"},{"slug":"influxdb-structured-logging-best-practices","title":"Structured logging best practices","description":"Use structured logging with appropriate field types and context to make logs more useful for troubleshooting. Choose specific field types over generic ones, include relevant metrics, and select appropriate log levels based on information importance.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Logging","language":"Go","updated":"2025-04-18","comments":5,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-structured-logging-best-practices.md"},{"slug":"teleport-add-contextual-logging","title":"Add contextual logging","description":"Add informative log messages with sufficient context to help operators diagnose issues, understand system state, and trace complex operations. Include relevant error details, system configuration status, and operational flow information.","repository":"gravitational/teleport","domain":"security","topic":"Logging","language":"Go","updated":"2025-09-05","comments":4,"stars":19109,"raw":"https://awesomereviewers.com/raw/teleport-add-contextual-logging.md"}],"prompt_count":28},{"slug":"ci-config","title":"CI workflows and configuration files","topics":["CI/CD","Configurations"],"checks":[{"kind":"workflow-linting","title":"CI workflow linting","method":"static_analysis","method_slug":"static-analysis","catches":"Broken GitHub Actions syntax, script injection, over-broad token permissions.","tool":null,"alternatives":[],"note":null},{"kind":"file-hygiene","title":"File hygiene","method":"formatting","method_slug":"formatting","catches":"Invalid JSON, YAML or TOML, merge markers, trailing whitespace, oversized files.","tool":{"id":"pre-commit-hooks","method":"formatting","kind":"file-hygiene","languages":["*"],"upstream":"https://github.com/pre-commit/pre-commit-hooks","docs":null,"autofix":true,"exit_codes":{},"repos":1,"share":3,"commands":["pre-commit hook end-of-file-fixer","pre-commit hook trailing-whitespace"],"run":null,"via":"pre-commit hook trailing-whitespace","triggers":["pre_commit"],"examples":[{"repository":"maximhq/bifrost","slug":"maximhq-bifrost"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"kubernetes-feature-gated-configuration-consistency","title":"Feature-gated Configuration Consistency","description":"When adding or changing a feature-gated configuration/behavior, ensure the gate is applied consistently across *all* layers (API defaults/validation, admission checks, and runtime logic), and that turning the gate off preserves the previous/legacy behavior (including how updates treat existing stored fields/status).","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Configurations","language":"Go","updated":"2026-10-23","comments":13,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-feature-gated-configuration-consistency.md"},{"slug":"traefik-configuration-validation-consistency","title":"Configuration validation consistency","description":"Ensure configuration fields use consistent validation patterns, appropriate data types, and proper bounds checking. This includes using correct regex patterns for duration fields, consistent type usage across similar fields, and implementing cross-field validation where relationships exist.","repository":"traefik/traefik","domain":"cloud-infra","topic":"Configurations","language":"Go","updated":"2025-04-18","comments":12,"stars":55772,"raw":"https://awesomereviewers.com/raw/traefik-configuration-validation-consistency.md"},{"slug":"kubernetes-feature-gate-field-preservation","title":"Feature gate field preservation","description":"When implementing feature-gated fields, always preserve existing field values when the feature gate is disabled, but drop new field values that depend on disabled features. This prevents breaking existing functionality during feature gate transitions or version skew scenarios.","repository":"kubernetes/kubernetes","domain":"orchestration","topic":"Configurations","language":"Go","updated":"2025-07-23","comments":11,"stars":116489,"raw":"https://awesomereviewers.com/raw/kubernetes-feature-gate-field-preservation.md"},{"slug":"prometheus-configuration-mutual-exclusivity-validation","title":"Configuration mutual exclusivity validation","description":"Ensure configuration options that are mutually exclusive are properly validated with clear, actionable error messages. When introducing configuration fields that cannot be used together, implement validation logic that checks for conflicts and provides specific guidance to users.","repository":"prometheus/prometheus","domain":"observability","topic":"Configurations","language":"Go","updated":"2025-06-19","comments":8,"stars":59616,"raw":"https://awesomereviewers.com/raw/prometheus-configuration-mutual-exclusivity-validation.md"},{"slug":"compose-environment-variable-validation","title":"Environment variable validation","description":"Always validate environment variables and provide appropriate fallbacks when using them for configuration. Environment variables should be checked for existence and non-empty values before use, with clear fallback behavior defined.","repository":"docker/compose","domain":"orchestration","topic":"Configurations","language":"Go","updated":"2025-04-25","comments":8,"stars":35858,"raw":"https://awesomereviewers.com/raw/compose-environment-variable-validation.md"},{"slug":"opentofu-separate-configuration-lifecycles","title":"Separate configuration lifecycles","description":"Maintain clear separation between different stages of configuration processing by creating dedicated structures for each phase of the configuration lifecycle. Divide configuration handling into distinct phases:","repository":"opentofu/opentofu","domain":"cloud-infra","topic":"Configurations","language":"Go","updated":"2025-03-07","comments":8,"stars":25901,"raw":"https://awesomereviewers.com/raw/opentofu-separate-configuration-lifecycles.md"},{"slug":"vitess-dynamic-configuration-needs-validation","title":"Dynamic configuration needs validation","description":"When implementing dynamic configuration options, validate that the system actually supports runtime changes for that setting. A configuration should only be marked as dynamic if:","repository":"vitessio/vitess","domain":"data-systems","topic":"Configurations","language":"Go","updated":"2025-06-30","comments":7,"stars":19815,"raw":"https://awesomereviewers.com/raw/vitess-dynamic-configuration-needs-validation.md"},{"slug":"istio-feature-flag-lifecycle-management","title":"Feature flag lifecycle management","description":"Establish clear guidelines for feature flag creation, default values, and removal strategy based on risk assessment and user impact. **When to use feature flags:**","repository":"istio/istio","domain":"orchestration","topic":"Configurations","language":"Go","updated":"2025-03-28","comments":6,"stars":37192,"raw":"https://awesomereviewers.com/raw/istio-feature-flag-lifecycle-management.md"},{"slug":"argo-cd-use-configuration-constants","title":"Use configuration constants","description":"Replace hardcoded values with named constants from common packages or make values configurable through environment variables or flags. This improves maintainability, reduces magic numbers, and enables runtime configuration.","repository":"argoproj/argo-cd","domain":"orchestration","topic":"Configurations","language":"Go","updated":"2025-07-10","comments":5,"stars":20149,"raw":"https://awesomereviewers.com/raw/argo-cd-use-configuration-constants.md"},{"slug":"signoz-centralize-configuration-management","title":"Centralize configuration management","description":"Consolidate configuration parameters into centralized config structures instead of using scattered options structs or hardcoded values. Configuration should be owned and controlled by the appropriate component, with all related settings grouped together in well-organized config files.","repository":"SigNoz/signoz","domain":"observability","topic":"Configurations","language":"Go","updated":"2025-06-20","comments":5,"stars":23369,"raw":"https://awesomereviewers.com/raw/signoz-centralize-configuration-management.md"},{"slug":"ollama-use-environment-variables","title":"Use environment variables","description":"Use environment variables instead of hardcoding configuration values such as file paths, port numbers, or system-specific locations. This makes the code more flexible across different platforms, installation methods, and user preferences.","repository":"ollama/ollama","domain":"llm-infra","topic":"Configurations","language":"Go","updated":"2025-04-16","comments":5,"stars":145704,"raw":"https://awesomereviewers.com/raw/ollama-use-environment-variables.md"},{"slug":"grafana-judicious-configuration-management","title":"Judicious configuration management","description":"Carefully manage configuration options, including feature flags, to balance flexibility with maintainability: 1. **Use feature flags strategically:**","repository":"grafana/grafana","domain":"observability","topic":"Configurations","language":"Go","updated":"2025-07-02","comments":4,"stars":68825,"raw":"https://awesomereviewers.com/raw/grafana-judicious-configuration-management.md"}],"prompt_count":29},{"slug":"dependencies","title":"Dependencies and lockfiles","topics":[],"checks":[{"kind":"dependency-audit","title":"Dependency audit","method":"supply_chain","method_slug":"supply-chain","catches":"Known-vulnerable or disallowed dependencies and licenses.","tool":{"id":"govulncheck","method":"supply_chain","kind":"dependency-audit","languages":["go"],"upstream":"https://github.com/golang/vuln","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":10,"commands":["govulncheck -format json ./cmd/tofu","govulncheck ./...","uses golang/govulncheck-action"],"run":"govulncheck ./...","via":"GitHub Action golang/govulncheck-action","triggers":["ci"],"examples":[{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"gofiber/fiber","slug":"gofiber-fiber"},{"repository":"opentofu/opentofu","slug":"opentofu-opentofu"}]},"alternatives":[{"id":"dependency-review","repos":1,"share":3}],"note":null},{"kind":"lockfile-check","title":"Lockfile consistency","method":"supply_chain","method_slug":"supply-chain","catches":"A lockfile that no longer matches its manifest.","tool":null,"alternatives":[],"note":null},{"kind":"version-matrix","title":"Version and platform matrix","method":"testing","method_slug":"testing","catches":"Breakage on a runtime version, OS or feature combination you did not run locally.","tool":{"id":"ci-matrix","method":"testing","kind":"version-matrix","languages":["*"],"upstream":"https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations","docs":null,"autofix":false,"exit_codes":{},"repos":13,"share":43,"commands":["analyze (language: 2)","analyze (language: 1)","analyze (language: 3)"],"run":"analyze (language: 2)","via":null,"triggers":["ci"],"examples":[{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"gin-gonic/gin","slug":"gin-gonic-gin"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"},{"repository":"evanw/esbuild","slug":"evanw-esbuild"}]},"alternatives":[],"note":null}],"prompts":[],"prompt_count":0},{"slug":"tests","title":"The tests themselves","topics":["Testing"],"checks":[{"kind":"mutation-testing","title":"Mutation testing","method":"testing","method_slug":"testing","catches":"Tests that keep passing whatever the code does.","tool":null,"alternatives":[],"note":null},{"kind":"version-matrix","title":"Version and platform matrix","method":"testing","method_slug":"testing","catches":"Breakage on a runtime version, OS or feature combination you did not run locally.","tool":{"id":"ci-matrix","method":"testing","kind":"version-matrix","languages":["*"],"upstream":"https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations","docs":null,"autofix":false,"exit_codes":{},"repos":13,"share":43,"commands":["analyze (language: 2)","analyze (language: 1)","analyze (language: 3)"],"run":"analyze (language: 2)","via":null,"triggers":["ci"],"examples":[{"repository":"ollama/ollama","slug":"ollama-ollama"},{"repository":"gin-gonic/gin","slug":"gin-gonic-gin"},{"repository":"grafana/grafana","slug":"grafana-grafana"},{"repository":"prometheus/prometheus","slug":"prometheus-prometheus"},{"repository":"traefik/traefik","slug":"traefik-traefik"},{"repository":"evanw/esbuild","slug":"evanw-esbuild"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"kubernetes-comprehensive-test-coverage","title":"Comprehensive test coverage","description":"Ensure comprehensive test coverage by systematically considering all scenarios, edge cases, and feature combinations when adding or modifying functionality. This includes testing both positive and negative cases, feature gate enabled/disabled states, error conditions, and boundary conditions.","repository":"kubernetes/kubernetes","domain":"orchestration","topic":"Testing","language":"Go","updated":"2025-07-23","comments":16,"stars":116489,"raw":"https://awesomereviewers.com/raw/kubernetes-comprehensive-test-coverage.md"},{"slug":"vitess-use-testify-assertion-libraries","title":"Use testify assertion libraries","description":"Replace manual if-error checks with `testify`'s `assert` and `require` packages to make tests more readable, maintainable, and with better error messages.","repository":"vitessio/vitess","domain":"data-systems","topic":"Testing","language":"Go","updated":"2025-02-25","comments":12,"stars":19815,"raw":"https://awesomereviewers.com/raw/vitess-use-testify-assertion-libraries.md"},{"slug":"kubernetes-semantics-aware-test-coverage","title":"Semantics-Aware Test Coverage","description":"When adding or modifying tests, ensure they (1) cover the minimal correctness set (including edge/error paths), (2) validate key invariants so the test itself can’t silently be wrong, and (3) in E2E, assert the real semantics—not just the final API phase—while keeping timing bounded to avoid flakiness.","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Testing","language":"Go","updated":"2026-10-23","comments":11,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-semantics-aware-test-coverage.md"},{"slug":"fiber-ensure-comprehensive-test-coverage","title":"Ensure comprehensive test coverage","description":"All code paths, error conditions, and edge cases must have corresponding unit tests to ensure robust functionality and prevent regressions. This includes testing both success and failure scenarios, boundary conditions, and error handling paths.","repository":"gofiber/fiber","domain":"app-frameworks","topic":"Testing","language":"Go","updated":"2025-05-31","comments":9,"stars":37560,"raw":"https://awesomereviewers.com/raw/fiber-ensure-comprehensive-test-coverage.md"},{"slug":"bifrost-deterministic-test-hygiene","title":"Deterministic Test Hygiene","description":"Adopt a consistent testing standard that prevents flaky behavior, leaked goroutines, and false positives. **1) Always register cleanup for started resources**","repository":"maximhq/bifrost","domain":"llm-infra","topic":"Testing","language":"Go","updated":"2026-07-27","comments":8,"stars":6862,"raw":"https://awesomereviewers.com/raw/bifrost-deterministic-test-hygiene.md"},{"slug":"influxdb-use-testify-assertions","title":"Use testify assertions","description":"Always use the testify package (require/assert) in tests instead of standard Go testing assertions. The testify library provides more descriptive failure messages that make debugging test failures easier and faster.","repository":"influxdata/influxdb","domain":"data-systems","topic":"Testing","language":"Go","updated":"2025-01-14","comments":7,"stars":30268,"raw":"https://awesomereviewers.com/raw/influxdb-use-testify-assertions.md"},{"slug":"temporal-specific-assertion-methods","title":"Specific assertion methods","description":"Use the most specific and descriptive assertion methods available in your test framework to improve test readability and failure diagnostics. Prefer methods that clearly state intent and produce helpful error messages.","repository":"temporalio/temporal","domain":"orchestration","topic":"Testing","language":"Go","updated":"2025-05-28","comments":6,"stars":14953,"raw":"https://awesomereviewers.com/raw/temporal-specific-assertion-methods.md"},{"slug":"opentofu-structure-tests-thoroughly","title":"Structure tests thoroughly","description":"Create well-structured tests with thorough coverage of both expected success and error conditions. Name test cases descriptively to clearly identify their purpose, and separate test logic from test data when using table-driven tests.","repository":"opentofu/opentofu","domain":"cloud-infra","topic":"Testing","language":"Go","updated":"2025-04-17","comments":6,"stars":25901,"raw":"https://awesomereviewers.com/raw/opentofu-structure-tests-thoroughly.md"},{"slug":"teleport-use-appropriate-testify-assertions","title":"Use appropriate testify assertions","description":"Choose the most specific and appropriate testify assertion methods for your test scenarios to improve test clarity, error reporting, and maintainability.","repository":"gravitational/teleport","domain":"security","topic":"Testing","language":"Go","updated":"2025-09-05","comments":5,"stars":19109,"raw":"https://awesomereviewers.com/raw/teleport-use-appropriate-testify-assertions.md"},{"slug":"prometheus-simplify-test-structure","title":"simplify test structure","description":"Write tests that are direct, focused, and free of unnecessary complexity. Remove redundant test fields, use direct assertions with expected values, and leverage existing fixtures instead of creating temporary content.","repository":"prometheus/prometheus","domain":"observability","topic":"Testing","language":"Go","updated":"2025-07-18","comments":5,"stars":59616,"raw":"https://awesomereviewers.com/raw/prometheus-simplify-test-structure.md"},{"slug":"ollama-comprehensive-test-coverage","title":"Comprehensive test coverage","description":"Test functions should provide comprehensive coverage of both expected and edge cases. Include tests for: 1. **Boundary conditions**: Test zero, minimum, maximum values, and other special cases.","repository":"ollama/ollama","domain":"llm-infra","topic":"Testing","language":"Go","updated":"2025-05-04","comments":5,"stars":145704,"raw":"https://awesomereviewers.com/raw/ollama-comprehensive-test-coverage.md"},{"slug":"cli-comprehensive-test-coverage","title":"comprehensive test coverage","description":"Ensure thorough test coverage by extracting complex logic into small, testable functions and using appropriate testing utilities. When encountering complex code blocks, break them into smaller functions that can be tested in isolation. Use Go's built-in testing utilities like `t.Setenv()` instead of `os.Setenv()` for environment variables, and...","repository":"snyk/cli","domain":"security","topic":"Testing","language":"Go","updated":"2025-02-21","comments":5,"stars":5178,"raw":"https://awesomereviewers.com/raw/cli-comprehensive-test-coverage.md"}],"prompt_count":23},{"slug":"docs","title":"Documentation and comments","topics":["Documentation"],"checks":[{"kind":"docs-build","title":"Docs build","method":"static_analysis","method_slug":"static-analysis","catches":"Broken cross-references, links and markup in documentation.","tool":null,"alternatives":[],"note":null},{"kind":"spelling","title":"Spelling","method":"formatting","method_slug":"formatting","catches":"Typos in identifiers, comments and docs.","tool":{"id":"codespell","method":"formatting","kind":"spelling","languages":["*"],"upstream":"https://github.com/codespell-project/codespell","docs":null,"autofix":false,"exit_codes":{},"repos":3,"share":10,"commands":["uses codespell-project/actions-codespell"],"run":null,"via":"GitHub Action codespell-project/actions-codespell","triggers":["ci"],"examples":[{"repository":"kubernetes/kubernetes","slug":"kubernetes-kubernetes"},{"repository":"gofiber/fiber","slug":"gofiber-fiber"},{"repository":"bytedance/sonic","slug":"bytedance-sonic"}]},"alternatives":[],"note":null}],"prompts":[{"slug":"istio-add-explanatory-comments","title":"Add explanatory comments","description":"Code should include explanatory comments that help future maintainers understand complex logic, design decisions, field semantics, and non-obvious implementation details. Comments are especially important for:","repository":"istio/istio","domain":"orchestration","topic":"Documentation","language":"Go","updated":"2025-07-10","comments":9,"stars":37192,"raw":"https://awesomereviewers.com/raw/istio-add-explanatory-comments.md"},{"slug":"prometheus-write-meaningful-documentation","title":"Write meaningful documentation","description":"Documentation comments should be accurate, concise, and add genuine value rather than restating obvious code behavior. Focus on explaining \"what\" the code does and \"why\" it exists, not \"how\" it works step-by-step.","repository":"prometheus/prometheus","domain":"observability","topic":"Documentation","language":"Go","updated":"2025-06-11","comments":8,"stars":59616,"raw":"https://awesomereviewers.com/raw/prometheus-write-meaningful-documentation.md"},{"slug":"ollama-follow-godoc-conventions","title":"Follow GoDoc conventions","description":"Document code following Go''s official documentation style guide (https://tip.golang.org/doc/comment). All exported functions, types, interfaces, and struct fields should have descriptive comments.","repository":"ollama/ollama","domain":"llm-infra","topic":"Documentation","language":"Go","updated":"2025-05-27","comments":8,"stars":145704,"raw":"https://awesomereviewers.com/raw/ollama-follow-godoc-conventions.md"},{"slug":"opentofu-document-intent-and-limitations","title":"Document intent and limitations","description":"Clearly document the intended purpose, scope limitations, and design decisions in your code. For all exported types, functions, and variables, provide comprehensive comments explaining their purpose, usage patterns, expected behavior, and any deliberate limitations.","repository":"opentofu/opentofu","domain":"cloud-infra","topic":"Documentation","language":"Go","updated":"2025-04-18","comments":8,"stars":25901,"raw":"https://awesomereviewers.com/raw/opentofu-document-intent-and-limitations.md"},{"slug":"kubernetes-document-variants-deltas","title":"Document Variants Deltas","description":"When introducing new code-path variants (e.g., “ForResize” vs base algorithms), comments/documentation must clearly explain: 1) **The delta vs the base implementation**: what changes and what stays identical.","repository":"kUbernetes/kUbernetes","domain":"orchestration","topic":"Documentation","language":"Go","updated":"2026-10-22","comments":7,"stars":128688,"raw":"https://awesomereviewers.com/raw/kubernetes-document-variants-deltas.md"},{"slug":"kubernetes-clear-field-documentation","title":"Clear field documentation","description":"Write precise, unambiguous documentation that explains what fields and methods represent rather than implementation details. Avoid recursive definitions, ambiguous terms, and focus on the user-facing behavior and purpose.","repository":"kubernetes/kubernetes","domain":"orchestration","topic":"Documentation","language":"Go","updated":"2025-07-24","comments":7,"stars":116489,"raw":"https://awesomereviewers.com/raw/kubernetes-clear-field-documentation.md"},{"slug":"teleport-comprehensive-function-documentation","title":"Comprehensive function documentation","description":"Functions, methods, and non-trivial constants should include comprehensive documentation that explains their purpose, behavior, parameters, and relationships to similar functionality. Documentation should be precise about what the code does and when errors may occur, avoiding misleading statements.","repository":"gravitational/teleport","domain":"security","topic":"Documentation","language":"Go","updated":"2025-09-08","comments":6,"stars":19109,"raw":"https://awesomereviewers.com/raw/teleport-comprehensive-function-documentation.md"},{"slug":"gin-document-code-behavior","title":"Document code behavior","description":"Document the \"why\" and \"how\" of your code, not just what it does. Add clear comments to explain: 1. Non-obvious behaviors and edge cases 2. Special input handling and transformations","repository":"gin-gonic/gin","domain":"app-frameworks","topic":"Documentation","language":"Go","updated":"2025-05-21","comments":6,"stars":83022,"raw":"https://awesomereviewers.com/raw/gin-document-code-behavior.md"},{"slug":"terraform-document-function-behavior-completely","title":"Document function behavior completely","description":"Function and method documentation should accurately describe behavior, parameters, and any non-obvious aspects of the implementation. Documentation should evolve alongside code changes.","repository":"hashicorp/terraform","domain":"cloud-infra","topic":"Documentation","language":"Go","updated":"2025-07-08","comments":5,"stars":45532,"raw":"https://awesomereviewers.com/raw/terraform-document-function-behavior-completely.md"},{"slug":"kubeflow-document-code-thoroughly","title":"Document code thoroughly","description":"Always include appropriate documentation in your code to improve readability, maintainability, and usability: 1. **Document all public APIs** with Go doc comments:","repository":"kubeflow/kubeflow","domain":"ml-systems","topic":"Documentation","language":"Go","updated":"2020-09-21","comments":4,"stars":15064,"raw":"https://awesomereviewers.com/raw/kubeflow-document-code-thoroughly.md"},{"slug":"argo-cd-comprehensive-function-documentation","title":"Comprehensive function documentation","description":"Functions should have thorough documentation that follows Go conventions and explains both the \"what\" and \"why\" of the code. This includes: 1. **Proper Go doc format**: Start function comments with the function name, e.g., \"GetSecretByName returns the Secret...\" instead of \"Returns the Secret...\"","repository":"argoproj/argo-cd","domain":"orchestration","topic":"Documentation","language":"Go","updated":"2025-07-15","comments":3,"stars":20149,"raw":"https://awesomereviewers.com/raw/argo-cd-comprehensive-function-documentation.md"},{"slug":"fiber-update-documentation-proactively","title":"Update documentation proactively","description":"When code behavior changes, new features are added, or potential usage pitfalls are identified, proactively update all relevant documentation including API docs, inline comments, and usage warnings. This ensures developers have accurate information about execution order, blocking operations, and proper usage patterns.","repository":"gofiber/fiber","domain":"app-frameworks","topic":"Documentation","language":"Go","updated":"2025-02-12","comments":3,"stars":37560,"raw":"https://awesomereviewers.com/raw/fiber-update-documentation-proactively.md"}],"prompt_count":17}]}
