Skip to content

Documentation

seampact turns one YAML contract into the server code, the typed clients and the OpenAPI document of your HTTP API. You write the handlers. seampact writes the checks around them, and seampact check fails in CI when the generated files drift from the contract.

The same pages, with search, are on the documentation site. New here? Read What is seampact, then Install.

  • Types and validation: what each stack gets from your schemas, the 400 error body and the rules modes.
  • TypeScript types: one type per schema, request, reply and error.
  • zod: zod schemas for the Node servers.
  • yup: yup schemas for the Node servers.
  • class-validator: decorated DTO classes for NestJS.
  • Ajv: Fastify’s own validators, when you link none.
  • VineJS: AdonisJS’s own validators, when you link none.
  • Java records: records and a generated structural validator on Spring Boot.
  • Laravel rules: FormRequest rules on Laravel.
  • Symfony constraints: classes and constraints on Symfony.
  • Pydantic: Pydantic 2 models on FastAPI and Django Ninja.
  • DRF serializers: dataclasses and serializers on Django REST Framework.
  • NestJS: Node, decorators and a module.
  • Express: Node, Express 4 and 5.
  • Fastify: Node, Fastify 5 with route hooks.
  • AdonisJS: Node, AdonisJS 7 and 6.
  • Hono: Hono 4 on any Web-standard runtime.
  • Access hooks on Node: authenticate, decide and resolve scope on the five Node servers.
  • Spring Boot: Java, the Gradle or Maven plugin, controllers and hooks.
  • Laravel: PHP, Composer, controllers, hooks and Laravel’s own auth.
  • Symfony: PHP, the Composer package, bundle, controllers, hooks and SecurityBundle.
  • FastAPI: Python, the wheels, bind_<api>(), handlers, hooks and FastAPI’s own docs.
  • Django REST Framework: Python, the wheels, settings, URLconf, handlers, hooks and DRF’s own auth.
  • Django Ninja: Python, the wheels, bind_<api>(), handlers, hooks, Ninja’s own auth and docs.
  • Fetch client: the typed fetch client every other client builds on.
  • React: TanStack Query, SWR or RTK Query hooks over the fetch client.
  • Vue: TanStack Query, Pinia Colada or plain fetch composables.
  • Angular: an HttpClient service with signals, NgRx optional.
  • MSW mocks: typed mock handlers to test the client with no backend.
  • Point the client at your backend: the backend URL per environment, Docker included.
  • Expo and React Native: the client and the React hooks on a phone.
  • Release notes: what each release ships and its known limits.
  • 1.0.1: server fixes, clearer errors, docs and agent skills.
  • 1.0.0: the first release.

For contributors. Users do not need these pages.