AIOpen source

SynTest

Catch API regressions before production

Type
Platform / tool
Built with
Go
Source
Public repository
Platform / toolpublic repo
ST
OpenAPI 3.xJSON SchemaGitHub Releases

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

  1. 01

    Contract testing against OpenAPI and JSON Schema

  2. 02

    Regression detection by comparing run histories

  3. 03

    Go CLI design and cross-platform distribution

  4. 04

    Installer engineering for bash and PowerShell, with checksum verification

  5. 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)