mrkeyoor.com_
Fri 16 Oct 18:51 UTC
Dev Toolsevaluationupdated 16 Oct 2026

forge review

Forge turns an OpenAPI description of an HTTP API into developer tools, including generated clients and command-line interfaces. Cloudflare is building it around its own API, with plugins and overlays that adapt a shared schema for different outputs.

Verdict

Our Forge install failed after 4 seconds because Node could not find pnpm, leaving generated output unverified in our sandbox. Follow it if you build API tooling and can contribute to an early pipeline. For an SDK your application needs today, start with a generator whose target already meets your requirements.

We ran it

Lab card: what happened when we ran forgeScreenshot of forge (github.com/cloudflare/forge)
Install✗ · 4s
Build—
Repo249 files~42,595 lines of source · 2.2 MB · 4 CI workflows · tests dir

Answers from our run

Does forge build from source?

The dependency install failed, and the project has no separate build step. We cloned commit c71948a into a clean Debian container with 3 CPUs and no project-specific setup.

Who should not use forge?

Teams expecting a finished multilingual SDK factory: the README calls Forge early and prioritizes the cf CLI.

What are the alternatives to forge?

OpenAPI Generator, Hey API. Our Forge install failed after 4 seconds because Node could not find pnpm, leaving generated output unverified in our sandbox.

Setup1/5Install failed before we could assess generated output
Docs2/5Short root README; deeper guidance lives in package documents
Community3/5Recent pushes and specific issue reports show current activity
Maturity2/5Early focus on cf CLI; query-name omission remains reported

Who it’s for

API platform engineers willing to work on the generation pipeline itself.
Cloudflare contributors investigating how API schemas feed the cf CLI and documentation.
Teams that need schema overlays and can assess generated output against their own API.

Who it’s NOT for

Teams expecting a finished multilingual SDK factory: the README calls Forge early and prioritizes the cf CLI.
TypeScript consumers depending on dotted query names: open issue 44 reports that names such as account.id disappear from generated request types.
Developers seeking a copy-and-run quick start: the root README explains the direction but provides no setup walkthrough.

Setup reality

Our sandbox install of commit c71948a failed with exit 1 after 4 seconds. Node could not find the pnpm 12.11.2 entry file under Corepack. The checkout held 249 files, about 42,595 source lines, and occupied 2.2 MB. No successful build or test result was supplied.

Working on the repository involves the pnpm workspace and Rust code. The current package manifest requires Node 26 or newer and pins pnpm 12.11.2. Documentation can consume a GitHub release asset or a local schema through FORGE_OPENAPI_SPEC.

The run used an image labelled lab-node:22, but the failing log identifies Node.js 18.20.8. That discrepancy is unresolved. The lab scan reported four CI workflows and a tests directory, with no Dockerfile detected in that measured checkout.

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.

Alternatives

ProjectWhat it isPick it when
OpenAPI Generator gh↗A generator for API clients, server stubs, and documentation.pick this instead when established language coverage is the immediate requirement.
Hey APIAn OpenAPI toolchain centered on TypeScript clients and related plugins.pick this instead when your application needs a TypeScript SDK rather than a new cross-output pipeline.

What people are saying

  1. [lobsters] Haxy.net is live! — HAXY (git forge) devlog
  2. [velocity-scout] cloudflare/forge
  3. [producthunt] Bolt Forge
  4. [producthunt] The Forge by Bob's Workshop

Sources

  1. Forge README
  2. Workspace package manifest
  3. TypeScript query omission report
  4. Generator conformance proposal
  5. Latest schema release
  6. Forge release recipes

More dev tools reviews

compose-samples · librepods · sqlmap · coucou · world-execute-me-dsh-pv · mcp-extensions · the whole board →