seampact
Declare your API once in YAML. Get typed handlers, validators, OpenAPI and clients for your own framework.
v1.0
Terminal window build.gradle.kts pom.xml Terminal window Terminal window
Install
Section titled “Install”The command line and the generators come from your ecosystem’s registry, at the same version.
npm install --save-dev @seampact/cli @seampact/codegen-tsplugins { id("io.github.jubasse.seampact") version "1.0.0"}<plugin> <groupId>io.github.jubasse</groupId> <artifactId>seampact-maven-plugin</artifactId> <version>1.0.0</version></plugin>composer require seampact/laravel seampact/hooks# Symfony: composer require seampact/symfonypip install "seampact-fastapi[generate]"# Django REST Framework: seampact-drf, Django Ninja: seampact-ninjaEach ecosystem has its own steps: Install in other ecosystems.
Types and validation
Section titled “Types and validation”What each stack generates from your schemas, and what happens when a request breaks a check. Start with the overview.
TypeScript typesOne type per schema, request, reply and error.
zod and yupValidators for the Node servers.
class-validatorDecorated DTO classes for NestJS.
Java recordsRecords and a generated validator on Spring Boot.
Laravel and SymfonyForm rules and constraints.
Pydantic and DRFModels and serializers for Python.
Server guides
Section titled “Server guides”Eleven servers, one contract. Pick yours.
Node.js
Section titled “Node.js”NestJSDecorators and a module.
ExpressExpress 4 and 5.
FastifyFastify 5 with route hooks.
AdonisJSAdonisJS 7 and 6.
HonoHono 4 on any Web-standard runtime.
Spring BootThe Gradle or Maven plugin, controllers and hooks.
LaravelComposer, controllers, hooks and Laravel's own auth.
SymfonyThe bundle, controllers, hooks and SecurityBundle.
Python
Section titled “Python”FastAPIThe wheels, bind functions, handlers and hooks.
Django REST FrameworkSettings, URLconf, handlers and hooks.
Django NinjaHandlers, hooks and Ninja's own auth.
Client guides
Section titled “Client guides”The client reads the contract only, so any server can sit behind it.
TypeScript
Section titled “TypeScript”Fetch clientThe typed fetch client every other client builds on.
ReactTanStack Query, SWR or RTK Query hooks.
VueTanStack Query, Pinia Colada or plain fetch composables.
AngularAn HttpClient service with signals.
MSW mocksTyped mock handlers to test with no backend.
Expo and React NativeThe client and the React hooks on a phone.
Point the client at your backendThe backend URL per environment.
Start here
Section titled “Start here”Your first APIA notes API on the server of your choice, step by step.
GlossaryThe words these docs use, one meaning each.
All the documentationThe full index, page by page.