A public API is a loading dock with several doors. Browsers arrive at one, command-line users at another, SDK authors and AI agents at the rest. They all want the same goods, but each needs the inventory printed in a different language.

Cloudflare has now put its print shop on the Internet. Forge is an open-source pipeline that takes API definitions and produces SDKs, command-line interfaces, documentation and other client-facing software. It is still young, but Cloudflare says it already generates the output needed for the cf CLI. Over the coming months, the company expects it to support its API documentation, SDKs and additional products.

The reason is scale. Cloudflare’s API contains more than 3,500 operations, backed by hundreds of services written in languages including Rust, Go, TypeScript and Python. A generator that works for a tidy demo API can become less useful when it must reconcile that many teams, repositories and release schedules.

The company tried hosted generation services and used some in production. None met its requirements, and some shut down altogether. It is difficult to file a regression report with a deceased corporation. Meanwhile, one team could merge an API change that broke the shared generator, while a different team found the damage only when a release was due.

Forge moves those checks into continuous integration, on each team’s API repository. It lints proposed changes and produces installable previews of the CLI, documentation and SDKs, with the proposed API changes highlighted. The arrangement applies the same idea as Workers Previews—build and inspect every change before release—to generated software spread across hundreds of services.

The generator is also intended to produce more than the usual assortment of client libraries. Cloudflare’s Cap’n Web lets TypeScript call a remote API as if it were invoking a local method. Forge can turn an OpenAPI specification into Cap’n Web bindings. That matters because bindings in the Workers runtime are themselves implemented as Workers exposing remote procedure calls.

The same mechanism could produce TanStack Query bindings, Zod or Valibot schemas, MCP servers or a library tailored to a particular application. Cloudflare says a sufficiently determined user could add a transformer that creates a package, dashboard or complete application.

Transformers can also be chained, so one generated output becomes the input for another. Existing generators commonly build CLI and Terraform targets from a Go SDK, but Forge lets users choose the route. It accepts OpenAPI today and has been designed for formats such as AsyncAPI, GraphQL, Cap’n Proto and Protobuf in the future.

That choice matters to Cloudflare because cf is written in TypeScript, a starting point other SDK generators generally do not use for chained CLIs. The tool also has to account for commands no API can describe. cf dev and cf build are hand-written additions that call TypeScript APIs supplied by packages including Vite. If they are absent from the specification, Forge must still feed them into the documentation generated for the rest of the CLI.

Cloudflare is tying Forge to a longer-running API cleanup. Its v4 API has remained the sole major version for 10 years, even though the company acknowledges that some changes would qualify as major under semantic-versioning rules. Old internal v2 tags and beta labels have also survived beyond the lifecycles they described. A monolithic v5 launch would strand existing customers, Cloudflare says, so the company is developing a versioning system that can release artifacts along the way and introduce new major versions without breaking established clients or SDKs.

Cloudflare says SDK announcements will follow for TypeScript, Rust, Python, Go, PHP and Terraform, with particular care given to the discipline required when teams upgrade a widely used Terraform provider. The names currently attached to Forge’s design and implementation are Dan Carter, Steven Chong, Krishna Paritala and Shelley Jones.

Forge is published under the Apache 2.0 license and can be run privately, modified and used without paying Cloudflare. “You should own your SDKs, CLIs, and docs,” the company argues, which sounds simple until one remembers that the alternative is renting the copier from a vendor that may leave the building.

Cloudflare has made the copier public. The loading dock now prints its own paperwork.