I got tired of OpenAPI generators breaking my clients, so I built steadysdk
Most OpenAPI generators are "generate once and forget." You run them the first time and everything looks great. Then the backend changes an operationId , adds an endpoint, or renames a field… and suddenly: Your custom helpers get overwritten Method names silently change You have to re-check the entire generated client CI either breaks or you stop regenerating altogether I got tired of this cycle,…
OpenAPI generators often create clients once and never update them. At first, everything works fine, but when the backend modifies operationIds, adds new endpoints, or changes field names, the generated client starts to break. Methods may change silently, causing CI to fail or forcing developers to stop regenerating the client entirely. Tired of this cycle, the creator built steadysdk, a TypeScript OpenAPI client generator tailored for multiple generations.
Steadysdk introduces name locking, recording every method name in a lock file. This means that even if the operationId changes or a new endpoint collides, the existing code remains unbroken. The regeneration process is safe, rewriting the generated folder with each run, ensuring that any custom code in client.ts or designated custom regions is preserved.
Steadysdk also employs hand-edit detection, halting regeneration if someone edits the generated file outside the custom regions and providing clear feedback instead of silently overwriting the changes.
Additionally, steadysdk comes with an API changelog, which displays exactly what modifications occurred between two versions of the specification and highlights any breaking changes. The generator has zero runtime dependencies, relying solely on fetch for its operations. It is also CI-friendly, providing the generate --check command to fail the build when the committed SDK falls behind the current version.
To get started with steadysdk, developers simply need to run npm install --save-dev @steadysdk/cli, followed by npx steadysdk init to initialize the project and npx steadysdk generate to produce the client.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.