01
Library
2025
Plumbline
Reads an API description and gives you a fully typed client, with retries and timeouts you can actually read.

Role
Author and maintainer
Stack
TypeScript, OpenAPI
Install
npm i plumbline
Numbers
2.6M installs a month, 38 kB, no dependencies
Why it exists
Every team I have worked on wrote the same 400 lines of glue between their API and their front end: types copied by hand, a fetch wrapper, a retry loop somebody wrote in a hurry. The types drifted, the wrapper grew, and nobody wanted to touch it.
Plumbline reads the API description you already keep, in OpenAPI or a plain YAML file, and generates a client where every call, parameter and response is typed. If the API changes, the build fails in your editor instead of in production.
What it does
The client is small on purpose: 38 kB with no dependencies. Retries use exponential backoff with jitter, timeouts are per call, and every error carries the request that caused it. You can read the whole retry policy in one screen of code.
How it went
The first release had 40 lines of documentation and 11 users. Two years on it is in about 2.6 million installs a month, mostly because the error messages are good. I spent a full month on those alone and it was the best month of the project.
More / ls ./work
Keep looking.
mail iri


