SynTest
Catch API regressions before production
- Type
- Platform / tool
- Built with
- Go
- Source
- Public repository
Overview
A command-line tool that tests a live HTTP API against its OpenAPI spec, records every run, and reports what broke since the last run — built for the case where fixing endpoint A silently breaks endpoint C through a shared serializer, validator or middleware.
Core features
Generates tests from the spec alone: happy-path requests with response-schema conformance, authentication checks, and validation checks that malformed input gets a 4xx and never a 5xx; an optional AI mode that proposes boundary, wrong-type, unicode and oversized-value cases; run history with a baseline so every report lists regressions, not just failures; syntest init scaffolds the config, spec and a walkthrough guide; installers for Linux, macOS and Windows that configure PATH and verify release checksums.
Architecture
A single static Go binary (no CGO, stripped, trimpath) built for linux and darwin on amd64 and arm64 plus windows, released with SHA256SUMS. OpenAPI parsing and schema validation use kin-openapi and a JSON Schema v6 validator; the HTTP client supports modern TLS and HTTP/3 so tests behave like real clients.
Frameworks, tools & libraries
The stack behind it
Frameworks
- OpenAPI 3.x
- JSON Schema
Tools & infrastructure
- GitHub Releases
- SHA256 checksums
- Bash and PowerShell installers
Libraries
- kin-openapi
- santhosh-tekuri/jsonschema
- enetx/surf (HTTP client)
- quic-go
- yaml.v3
Skills applied
What I brought to it
- 01
Contract testing against OpenAPI and JSON Schema
- 02
Regression detection by comparing run histories
- 03
Go CLI design and cross-platform distribution
- 04
Installer engineering for bash and PowerShell, with checksum verification
- 05
LLM-assisted test-case generation as an opt-in mode
Languages
What it's written in
- Go~37 files
CLI, runner and report engine
- Shell~3 files
installers
Next project
SynTextEditor
A rich text editor for React and Next.js (@syntext/react)