Skip to content
rlvtappPublic

About

Open-source API contract generator for SDKs, CLIs, mocks, validation, docs and MCP tools. Composable Rust and JavaScript plugins. An alternative to Speakeasy, Fern and Stainless, without the cloud or subscription.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

Poolster: one contract, lots of possibilities, your code

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.

Quick start

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@alpha
import { 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

Documentation

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

Supported outputs

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

Extend Poolster

Inputs publish contracts. Outputs consume them. Your plugins can provide whole contracts, expose optional building blocks and insert transformations.

JavaScript plugin tutorial · Rust plugin tutorial

Project

Contributing · Changelog · AI context · License

About

Open-source API contract generator for SDKs, CLIs, mocks, validation, docs and MCP tools. Composable Rust and JavaScript plugins. An alternative to Speakeasy, Fern and Stainless, without the cloud or subscription.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages