RespKit

Testing and contributing

RespKit has unit tests for the core module and separate integration suites that send real HTTP requests through upstream framework routers.

Run the checks

Run these commands from the repository root:

make test
make race
make vet
make coverage
make integration
make integration-mappers

Each module declares its minimum Go version in go.mod. Optional integrations can require a newer toolchain than the core library. Downloading dependencies for the integration suites requires network access.

The upstream suite exercises real Gin, Echo, Fiber, Chi, Gorilla/mux, and Beego routers with the race detector enabled. The compatibility guide explains how to find the selected dependency versions, platform matrix, and current CI results.

Contribution guidelines

  • Put HTTP adapter changes in internal/transport and verify them against the upstream framework.
  • Put error classification changes in internal/resolver; use errors.Is and errors.As.
  • Store built-in translation catalogs under internal/i18n/locales, with one JSON file per language.
  • Include regression tests when changing the response format or public API.
  • Keep framework and driver dependencies in separate modules under integrations/.
  • Do not put raw errors, secrets, or private values in public responses or translation parameters.
  • Update the architecture and verification documentation when a change affects package boundaries or test claims.

See the repository's contribution guide and compatibility guide for more detail.

On this page