Review list

This is the review list for The List

Tools

APIs

Tool Description Replaced type-unsafe practices
capnp Cap’n Proto serialization and RPC system for Go. Reflection-based field encoding/decoding in RPC or serialization.
gqlgen go generate based graphql server library v
oapi-codegen Generate Go client/server code from OpenAPI 3 specs. Runtime route dispatch & payload decoding with reflect.
protoc-gen-go-grpc gRPC code generator for Go — creates client/server stubs. Dynamic service dispatch via reflection in RPC frameworks.
twirp Simple RPC framework with generated code from .proto files. Generic RPC routing and handler registration via reflection.

Databases

Tool Description Replaced type-unsafe practices
ent An entity framework for Go: simple, yet powerful ORM for modeling and querying data. Generic ORM field/column mapping via reflect (e.g., GORM-style).
jet Type-safe SQL builder for Go with code generation from schema. Reflection-based dynamic SQL builders.
xo Command-line tool to generate Go code from a database schema. Dynamic ORM query building and result mapping.

De/serialization

Tool Description Replaced type-unsafe practices
avrogen-go Avro code generation for Go from Avro schema files. Reflection-based Avro decoding/encoding.
easyjson Fast JSON serializer for Go — reflectionless encoding/decoding. encoding/json struct field scanning via reflection.
ffjson Faster JSON serialization for Go — generates static code. encoding/json reflection for marshaling/unmarshaling.
flatbuffers Memory-efficient serialization library with generated Go code. Generic serialization frameworks with reflection.
msgp Code generator and runtime for MessagePack in Go. Dynamic serialization/deserialization frameworks.
protoc-gen-go Go support for Protocol Buffers. Generic serialization frameworks that rely on reflection.

Dependency Injection and Wiring

Tool Description Replaced type-unsafe practices
genny Code generation for generic data structures. Reflection-based generic containers and utils.
wire Compile-time dependency injection for Go. Runtime DI containers using reflection to construct dependencies.

Testing and Mocks

Tool Description Replaced type-unsafe practices
counterfeiter Generates Go interfaces and their fakes. Reflection-based fake object creation.
mockery A mock code autogenerator for Go interfaces. Reflection-based mocks that inspect method sets at runtime.
moq Interface mocking tool for Go generate tests without hand-written mocks. Reflection-driven mock frameworks that dynamically implement interfaces.

Enums / Code Helpers

Tool Description Replaced type-unsafe practices
enumer Code generation for Go enums with Stringer-like methods, JSON, text marshal/unmarshal. Generic enum-to-string mappers using reflection or maps.
go-enum Generates enums from Go comments and type declarations. Runtime enum parsing via reflection.

Validation

Tool Description Replaced type-unsafe practices
protoc-gen-validate Protocol Buffer codegen for message validation. Reflection-based validation frameworks that iterate over fields dynamically.
validate With codegen wrappers, generates validation functions instead of runtime tag parsing. Reflection-based tag scanning in validation.