The cf CLI is the first adoption target
Forge starts with an OpenAPI description and applies JSONPath-based overlays before generating tools around that API. Cloudflare's README puts the cf CLI first. That matters if you're evaluating it for your own service: a working pipeline for Cloudflare's API does not establish that your preferred language target is ready for your schema. Read the named outputs as a direction that needs checking against actual code.
Our measured checkout contained 249 files and roughly 42,595 lines of source in 2.2 MB. This is already a codebase to understand, even though its root README is brief. Plugins provide the extension mechanism, and overlays let the same underlying API description carry changes for particular outputs. The attraction is keeping API behavior and developer-facing tools connected instead of maintaining unrelated descriptions by hand.
What happened when we ran it
Our Forge install failed with exit 1 after 4 seconds at commit c71948a on October 15, 2026. The final exception was MODULE_NOT_FOUND: Node could not locate /work/home/.corepack/v1/pnpm/12.11.2/bin/pnpm.cjs. Installation stopped before the supplied record established a working development environment. There is no successful build or test result to turn into a claim about generated clients.
The measurement setup was a fresh Debian container with 3 CPUs and 8 GB of RAM, without secrets or elevated privileges. Its image label was lab-node:22, while the exception ended with Node.js v18.20.8. Both belong in the record. The log does not explain the mismatch, and it does not demonstrate a Forge compiler defect. It demonstrates that this sandbox path failed to launch the expected package manager.
Our harness found four CI workflow files, workspace configuration, and a tests directory. Those are useful signs of repository structure, although they cannot substitute for a passing local command. The lab detected no Dockerfile in its checkout. A later source inspection exposes a release-specific Docker recipe, so readers should keep the measured snapshot separate from the current tree rather than assume the repository has never used containers.
The workspace and Rust executable need separate attention
The current root package manifest requires Node 26 or newer and selects pnpm 12.11.2. Forge also contains a Rust package with a command-line feature and optional WebAssembly plugin support. Someone contributing to the generator therefore needs to understand more than the JavaScript documentation workspace. Following a generic Node quick start would miss a substantial part of the toolchain.
The justfile describes native release binaries and container-assisted cross-compilation. Documentation packages have their own concerns: astro-fern renders API content, while the Forge extension adapts metadata. The repository's contributor notes allow a local schema through FORGE_OPENAPI_SPEC, avoiding reliance on the release asset for that input. Generating local artifacts does not inherently require a Cloudflare account, although using authenticated Cloudflare API operations is a separate task.
Dotted query parameters expose an adoption blocker
Issue 44's query-parameter reproduction reports omitted TypeScript request fields for wire names containing punctuation such as account.id. The issue concerns the generator's TypeScript target and includes an OpenAPI input plus the resulting request shape. It is directly relevant to SDK selection: a typed client that hides a required filter can mislead callers even when another request mechanism can send it.
That report is separate from our 4-second install failure. We did not reproduce the query omission, and the reported revision differs from our measured commit. Still, an API owner with dotted filters should use that exact class of input when evaluating Forge. A claim that the schema parses successfully would leave the important question unanswered: can a caller express the request the API actually accepts?
The release tag identifies a schema artifact
GitHub records a push on October 15, 2026, and the latest release is an openapi@ tag derived from a Cloudflare API-schema commit. Its release notes identify the source schema. That is helpful for tracing documentation inputs, but it is a different signal from a conventional generator version promising compatibility to downstream users. Pinning the artifact alone would not describe the entire toolchain you depend on.
GitHub listed 1,130 stars and 13 open issues and PRs during this check. Recent activity includes the query-parameter report and an open conformance-suite proposal. The proposal explicitly leaves cases and the suite API for agreement on the design. Treat it as a proposal. Taken together, the recent push and specific discussion show an active project whose external adoption contract is still taking shape.
Choose a generator around the output you need
OpenAPI Generator's project is a better starting point when existing client-language coverage drives the decision. Hey API's current repository is worth comparing for a TypeScript application. Neither comparison establishes better generated code for your schema. It gives you a narrower question to answer before taking responsibility for Forge's broader plugin architecture.
Forge's Apache-2.0 license allows practical experimentation, and Cloudflare's own use gives contributors a concrete target. My threshold for adoption would be a pinned toolchain producing a usable client from the API I operate, including awkward query names. Until then, keep the existing SDK generator in place and use Forge on a schema whose missing fields you can afford to catch yourself.

