Important
Poolster is under active development. OpenAPI generation is ready to use; GraphQL and other native pipelines are expanding. See the support matrix for tested outputs and limitations. GraphQL and AsyncAPI/Kafka pipelines are published in 0.5.0-alpha.2.
One contract. Lots of possibilities. Your code.
Poolster turns API contracts into clients, models, hooks and tools. Choose input and output plugins, then regenerate when your contract changes.
Install the published 0.5.0-alpha.2 prerelease explicitly. It is available on npm, crates.io and PyPI.
npm install -D @relevate/poolster@alpha @relevate/poolster-plugin-typescript@alphaimport { generate } from '@relevate/poolster';
import { pluginTypeScript } from '@relevate/poolster-plugin-typescript';
await generate({
name: 'Example API',
version: '1.0.0',
input: './openapi.yaml',
output: './generated',
plugins: [pluginTypeScript({ path: 'client' })],
});JavaScript quickstart · Rust SDK quickstart
| I want to… | Start here |
|---|---|
| Use JavaScript | JavaScript |
| Use the Rust SDK | Rust SDK |
| Write JavaScript plugins | JavaScript plugins |
| Write Rust plugins | Rust plugins |
| Learn about Poolster | About |
| Understand contracts, blocks and lifecycles | Internals |
OpenAPI supports the established HTTP SDKs and helpers. GraphQL supports clients for all ten SDK languages and TypeScript query, validation and testing companions in alpha.2. Generated GraphQL packages separate models, operations, transport and client code, with raw, flat and grouped call styles. GraphQL also generates Postman collections and executable CLIs. AsyncAPI generates shared models for all ten SDK languages and Kafka producer/consumer packages for all ten SDK languages, plus Symfony integration over the PHP runtime. This is the bounded plaintext JSON Kafka subset, with language-specific limits. See the Kafka capability comparison. Protobuf/gRPC generates Go, Python and TypeScript packages. Python and TypeScript source generation is owned by Poolster and needs no external code generator. Arazzo has a source-resolved TypeScript workflow pipeline.
Plugin support matrix · GraphQL package layouts · Advanced GraphQL capabilities · Examples
Inputs publish contracts. Outputs consume them. Your plugins can provide whole contracts, expose optional building blocks and insert transformations.