Verifying Go changes
Files: .go. Derived from 30 scanned source repositories and 343 review prompts on https://awesomereviewers.com. Page: https://awesomereviewers.com/verify/go/
How to use this: run every check under Run on every change. Then, for each section under Add when the change touches that describes your diff, run its checks too. Checks catch what a tool can find; then apply the listed review prompts for what tools miss (fetch each prompt’s raw URL).
Usage is the share of scanned repositories in this language that run the tool. A missing tool means no scanned repository runs one the scanner recognises: fall back to the prompts.
Run on every change
- Formatting:
gofmt (20% of repos). Command seen: gofumpt -w .. Autofixes. Docs: https://github.com/golang/go
- Linting:
golangci-lint (73% of repos). Command seen: golangci-lint run. Alternatives: go-vet (17%), staticcheck (3%). Docs: https://github.com/golangci/golangci-lint
- Type checking — The compiler type-checks on every build and test run; a failing build is this check failing.
- Unit and integration tests:
go-test (63% of repos). Command seen: go test ./.... Docs: https://github.com/golang/go
Review prompts (54 in total, most discussed first):
- Reduce Duplication For Readability — kUbernetes/kUbernetes, Code Style
- Consistent descriptive naming — prometheus/prometheus, Naming Conventions
- consistent descriptive naming — SigNoz/signoz, Naming Conventions
- Use descriptive names — istio/istio, Naming Conventions
- Follow existing naming patterns — docker/compose, Naming Conventions
- Cohesive Converters Organization — maximhq/bifrost, Code Style
- Use descriptive naming — volcano-sh/volcano, Naming Conventions
- Use semantically clear names — kubernetes/kubernetes, Naming Conventions
- Organize code by functionality — gravitational/teleport, Code Style
- simplify code structure — kubernetes/kubernetes, Code Style
- Use descriptive names — gravitational/teleport, Naming Conventions
- Extract reusable functions — volcano-sh/volcano, Code Style
Add when the change touches
- Security scanning:
codeql (23% of repos). Runs via GitHub Action github/codeql-action/analyze. Docs: https://github.com/github/codeql
- Secret scanning:
gitleaks (7% of repos). Runs via pre-commit hook gitleaks. Docs: https://github.com/gitleaks/gitleaks
- Dependency audit:
govulncheck (10% of repos). Command seen: govulncheck ./.... Alternatives: dependency-review (3%). Docs: https://github.com/golang/vuln
Review prompts (25 in total, most discussed first):
- Prevent Secret Leakage — maximhq/bifrost, Security
- Security Field Validation — kUbernetes/kUbernetes, Security
- Consistent Authorization and Auth — looplj/axonhub, Security
- Prevent information disclosure — kubernetes/kubernetes, Security
- Prevent sensitive data exposure — docker/compose, Security
- Fail-safe security defaults — grafana/grafana, Security
- Validate untrusted inputs — argoproj/argo-cd, Security
- Avoid overly broad permissions — gravitational/teleport, Security
- standardize authentication context extraction — SigNoz/signoz, Security
- Secure configuration practices — volcano-sh/volcano, Security
- Validate security inputs — gofiber/fiber, Security
- Explicit security parameters — influxdata/influxdb, Security
Public APIs, signatures, error paths, nullability
- Type checking — The compiler type-checks on every build and test run; a failing build is this check failing.
- Unit and integration tests:
go-test (63% of repos). Command seen: go test ./.... Docs: https://github.com/golang/go
- Property-based tests — no tool detected in the sample. Catches: Edge-case inputs nobody wrote a test for; invariants over generated data.
Review prompts (76 in total, most discussed first):
- Craft actionable errors — opentofu/opentofu, Error Handling
- Streaming error invariants — maximhq/bifrost, Error Handling
- API field documentation — kubernetes/kubernetes, API
- Wrap errors with context — argoproj/argo-cd, Error Handling
- Preserve API Contracts — maximhq/bifrost, API
- Add explicit nil checks — volcano-sh/volcano, Null Handling
- check all error returns — gofiber/fiber, Error Handling
- Handle all errors explicitly — snyk/cli, Error Handling
- Propagate Errors Reliably — kUbernetes/kUbernetes, Error Handling
- Null-safe initialization and validation — kUbernetes/kUbernetes, Null Handling
- Return errors explicitly — istio/istio, Error Handling
- Contextual null checks — hashicorp/terraform, Null Handling
Service and framework code
- Unit and integration tests:
go-test (63% of repos). Command seen: go test ./.... Docs: https://github.com/golang/go
- Version and platform matrix:
ci-matrix (43% of repos). Command seen: analyze (language: 2). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
Review prompts (2 in total, most discussed first):
- Property-based tests — no tool detected in the sample. Catches: Edge-case inputs nobody wrote a test for; invariants over generated data.
- Fuzzing — no tool detected in the sample. Catches: Crashes, panics and hangs on malformed input, especially in parsers and decoders.
- Mutation testing — no tool detected in the sample. Catches: Tests that keep passing whatever the code does.
- Proofs and specifications — no tool detected in the sample. Catches: Design-level bugs in protocols and algorithms, checked against a specification.
Review prompts (23 in total, most discussed first):
- Optimize algorithmic efficiency — volcano-sh/volcano, Algorithms
- simplify complex algorithms — prometheus/prometheus, Algorithms
- Preserve Aggregation Invariants — maximhq/bifrost, Algorithms
- Optimize data structures — vitessio/vitess, Algorithms
- Optimize with standard library — ollama/ollama, Algorithms
- Algorithm invariants and ordering — kUbernetes/kUbernetes, Algorithms
- Optimize search algorithms — kubernetes/kubernetes, Algorithms
- Optimize computational complexity — gravitational/teleport, Algorithms
- optimize algorithmic complexity — argoproj/argo-cd, Algorithms
- Prevent backing array surprises — opentofu/opentofu, Algorithms
- Algorithm selection correctness — evanw/esbuild, Algorithms
- Operation order affects correctness — temporalio/temporal, Algorithms
Threads, async code, locks, shared state
- Concurrency model checking — no tool detected in the sample. Catches: Races and orderings that fail only under specific interleavings.
- Undefined-behaviour detection — no tool detected in the sample. Catches: Memory-safety and aliasing violations in unsafe code.
- Property-based tests — no tool detected in the sample. Catches: Edge-case inputs nobody wrote a test for; invariants over generated data.
Review prompts (20 in total, most discussed first):
- Cancellation Aware Concurrency — kUbernetes/kUbernetes, Concurrency
- Immutable Snapshots And Gates — maximhq/bifrost, Concurrency
- Prevent concurrent access races — vitessio/vitess, Concurrency
- Protect shared state — wavetermdev/waveterm, Concurrency
- Lock with defer unlock — influxdata/influxdb, Concurrency
- Safe concurrent programming — grafana/grafana, Concurrency
- prevent race conditions — istio/istio, Concurrency
- Safe lock patterns — opentofu/opentofu, Concurrency
- Scope concurrency control precisely — docker/compose, Concurrency
- Choose appropriate synchronization primitives — argoproj/argo-cd, Concurrency
- Document synchronization intent — ollama/ollama, Concurrency
- Synchronization primitive selection — gravitational/teleport, Concurrency
Network calls, retries, timeouts, protocols
- Unit and integration tests:
go-test (63% of repos). Command seen: go test ./.... Docs: https://github.com/golang/go
- Fuzzing — no tool detected in the sample. Catches: Crashes, panics and hangs on malformed input, especially in parsers and decoders.
Review prompts (15 in total, most discussed first):
- Streaming network safety — kUbernetes/kUbernetes, Networking
- Use network timeouts — wavetermdev/waveterm, Networking
- Use proper network constants — golang/go, Networking
- network configuration consistency — istio/istio, Networking
- Connection lifecycle management — fatedier/frp, Networking
- HTTP Timeout Strategy — infiniflow/ragflow, Networking
- Network information extraction — traefik/traefik, Networking
- Context-aware network calls — temporalio/temporal, Networking
- Network API precision — docker/compose, Networking
- Robust network handling — vitessio/vitess, Networking
- Enforce secure TLS configuration — gofiber/fiber, Networking
- Use dynamic port allocation — grafana/grafana, Networking
UI components and pages
- End-to-end browser tests — no tool detected in the sample. Catches: User flows broken across components, routing and the network.
- Linting:
golangci-lint (73% of repos). Command seen: golangci-lint run. Alternatives: go-vet (17%), staticcheck (3%). Docs: https://github.com/golangci/golangci-lint
Databases, migrations, caching
- Unit and integration tests:
go-test (63% of repos). Command seen: go test ./.... Docs: https://github.com/golang/go
- Version and platform matrix:
ci-matrix (43% of repos). Command seen: analyze (language: 2). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
Review prompts (12 in total, most discussed first):
- Deterministic DB Semantics — maximhq/bifrost, Database
- Stability-First Caching — maximhq/bifrost, Caching
- Stable Backward-Compatible Migrations — maximhq/bifrost, Migrations
- ensure migration idempotency — SigNoz/signoz, Migrations
- Minimize database joins — grafana/grafana, Database
- Use parameterized queries — vitessio/vitess, Database
- Deterministic Cache Keys — looplj/axonhub, Caching
- Use database transactions — SigNoz/signoz, Database
- Complete schema management — influxdata/influxdb, Database
- Database query parameter hygiene — gravitational/teleport, Database
- justify caching strategies — SigNoz/signoz, Caching
- Centralize database operations — wavetermdev/waveterm, Database
- No tool-based check applies; rely on the prompts.
Review prompts (17 in total, most discussed first):
- minimize memory allocations — gofiber/fiber, Performance Optimization
- minimize memory allocations — prometheus/prometheus, Performance Optimization
- Bounded, Targeted Performance — maximhq/bifrost, Performance Optimization
- Avoid redundant operations — volcano-sh/volcano, Performance Optimization
- Avoid unnecessary work — kubernetes/kubernetes, Performance Optimization
- Optimize Hot Paths — kUbernetes/kUbernetes, Performance Optimization
- Avoid expensive operations — istio/istio, Performance Optimization
- Precompute and cache — temporalio/temporal, Performance Optimization
- minimize unnecessary allocations — gravitational/teleport, Performance Optimization
- Optimize memory allocation — vitessio/vitess, Performance Optimization
- Optimize performance patterns — grafana/grafana, Performance Optimization
- Reuse buffers strategically — ollama/ollama, Performance Optimization
Model, prompt and LLM code
- Unit and integration tests:
go-test (63% of repos). Command seen: go test ./.... Docs: https://github.com/golang/go
Review prompts (2 in total, most discussed first):
Logging, metrics, tracing
- No tool-based check applies; rely on the prompts.
Review prompts (28 in total, most discussed first):
- Observability Signal Quality — kUbernetes/kUbernetes, Observability
- metrics registration lifecycle — prometheus/prometheus, Observability
- Log effectively for debugging — opentofu/opentofu, Logging
- Use centralized loggers — snyk/cli, Logging
- implement proper observability — kubernetes/kubernetes, Observability
- Low-noise, instance-safe logs — maximhq/bifrost, Logging
- structured logging practices — argoproj/argo-cd, Logging
- Standardize observability semantic conventions — grafana/grafana, Observability
- Use structured logging — volcano-sh/volcano, Logging
- Optimize metrics label cardinality — temporalio/temporal, Observability
- Structured logging best practices — influxdata/influxdb, Logging
- Add contextual logging — gravitational/teleport, Logging
CI workflows and configuration files
- CI workflow linting — no tool detected in the sample. Catches: Broken GitHub Actions syntax, script injection, over-broad token permissions.
- File hygiene:
pre-commit-hooks (3% of repos). Runs via pre-commit hook trailing-whitespace. Autofixes. Docs: https://github.com/pre-commit/pre-commit-hooks
Review prompts (29 in total, most discussed first):
- Feature-gated Configuration Consistency — kUbernetes/kUbernetes, Configurations
- Configuration validation consistency — traefik/traefik, Configurations
- Feature gate field preservation — kubernetes/kubernetes, Configurations
- Configuration mutual exclusivity validation — prometheus/prometheus, Configurations
- Environment variable validation — docker/compose, Configurations
- Separate configuration lifecycles — opentofu/opentofu, Configurations
- Dynamic configuration needs validation — vitessio/vitess, Configurations
- Feature flag lifecycle management — istio/istio, Configurations
- Use configuration constants — argoproj/argo-cd, Configurations
- Centralize configuration management — SigNoz/signoz, Configurations
- Use environment variables — ollama/ollama, Configurations
- Judicious configuration management — grafana/grafana, Configurations
Dependencies and lockfiles
- Dependency audit:
govulncheck (10% of repos). Command seen: govulncheck ./.... Alternatives: dependency-review (3%). Docs: https://github.com/golang/vuln
- Lockfile consistency — no tool detected in the sample. Catches: A lockfile that no longer matches its manifest.
- Version and platform matrix:
ci-matrix (43% of repos). Command seen: analyze (language: 2). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
The tests themselves
- Mutation testing — no tool detected in the sample. Catches: Tests that keep passing whatever the code does.
- Version and platform matrix:
ci-matrix (43% of repos). Command seen: analyze (language: 2). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
Review prompts (23 in total, most discussed first):
- Comprehensive test coverage — kubernetes/kubernetes, Testing
- Use testify assertion libraries — vitessio/vitess, Testing
- Semantics-Aware Test Coverage — kUbernetes/kUbernetes, Testing
- Ensure comprehensive test coverage — gofiber/fiber, Testing
- Deterministic Test Hygiene — maximhq/bifrost, Testing
- Use testify assertions — influxdata/influxdb, Testing
- Specific assertion methods — temporalio/temporal, Testing
- Structure tests thoroughly — opentofu/opentofu, Testing
- Use appropriate testify assertions — gravitational/teleport, Testing
- simplify test structure — prometheus/prometheus, Testing
- Comprehensive test coverage — ollama/ollama, Testing
- comprehensive test coverage — snyk/cli, Testing
- Docs build — no tool detected in the sample. Catches: Broken cross-references, links and markup in documentation.
- Spelling:
codespell (10% of repos). Runs via GitHub Action codespell-project/actions-codespell. Docs: https://github.com/codespell-project/codespell
Review prompts (17 in total, most discussed first):
- Add explanatory comments — istio/istio, Documentation
- Write meaningful documentation — prometheus/prometheus, Documentation
- Follow GoDoc conventions — ollama/ollama, Documentation
- Document intent and limitations — opentofu/opentofu, Documentation
- Document Variants Deltas — kUbernetes/kUbernetes, Documentation
- Clear field documentation — kubernetes/kubernetes, Documentation
- Comprehensive function documentation — gravitational/teleport, Documentation
- Document code behavior — gin-gonic/gin, Documentation
- Document function behavior completely — hashicorp/terraform, Documentation
- Document code thoroughly — kubeflow/kubeflow, Documentation
- Comprehensive function documentation — argoproj/argo-cd, Documentation
- Update documentation proactively — gofiber/fiber, Documentation
Source repositories
avelino/awesome-go, ollama/ollama, golang/go, kubernetes/kubernetes, fatedier/frp, gin-gonic/gin, grafana/grafana, prometheus/prometheus, traefik/traefik, wagoodman/dive, hashicorp/terraform, evanw/esbuild, gofiber/fiber, istio/istio, docker/compose, influxdata/influxdb, sst/opencode, opentofu/opentofu, SigNoz/signoz, argoproj/argo-cd, vitessio/vitess, gravitational/teleport, wavetermdev/waveterm, kubeflow/kubeflow, temporalio/temporal, bytedance/sonic, maximhq/bifrost, snyk/cli, volcano-sh/volcano, looplj/axonhub