Cloudflare veröffentlicht Forge als Open Source zur Optimierung der SDK- und CLI-Generierung
Cloudflare hat Forge veröffentlicht, eine Open-Source-Pipeline zur Generierung von SDKs, CLIs und Dokumentationen. Sie läuft in CI, um Änderungen zu prüfen, und unterstützt verkettete Ausgaben.
Automatisch aus dem englischen Original übersetzt.
Cloudflare hat Forge vorgestellt, eine Open-Source-Pipeline, die entwickelt wurde, um Software Development Kits (SDKs), Command-Line-Interfaces (CLIs) und Dokumentation zu generieren. Das am 28. September 2026 veröffentlichte Tool soll Engineering-Teams dabei helfen, komplexe API-Oberflächen durch die Automatisierung der Erstellung von Client-Bibliotheken und Entwicklerwerkzeugen zu verwalten. Das Unternehmen hat das System intern entwickelt, um seine eigene Skalierbarkeit zu bewältigen, bevor es unter der Apache-2.0-Lizenz für die Öffentlichkeit verfügbar gemacht wurde.
Was ist passiert
Die interne API-Infrastruktur von Cloudflare ist erheblich gewachsen und unterstützt nun über 3.500 Operationen in Hunderten von Diensten. Diese Backend-Dienste sind in einer Vielzahl von Sprachen geschrieben, darunter Rust, Go, TypeScript und Python. Als das Unternehmen daran arbeitete, ein einheitliches Command-Line-Interface für seine gesamte API sowie entsprechende SDKs und Dokumentation aufzubauen, erwiesen sich bestehende Code-Generierungstools als unzureichend. Das Engineering-Team benötigte eine Pipeline, die diese massive Skalierung bewältigen konnte, aber gleichzeitig flexibel genug war, um verschiedene Programmiersprachen und Workflow-Anforderungen zu berücksichtigen.
Die größte Herausforderung bestand darin, den Koordinationsaufwand zwischen verschiedenen Produktteams zu reduzieren. Bisher fehlte Teams bei einer API-Änderung eine zuverlässige Möglichkeit, vor dem Merge des Codes vorherzusagen, wie sich diese Änderung auf das globale CLI, die SDKs oder die Dokumentation auswirken würde. Dies führte oft dazu, dass ein Merge versehentlich die Generierungspipeline brach, was Probleme verursachte, die andere Teams erst zum Zeitpunkt des Releases entdeckten. Cloudflare versuchte, mehrere gehostete Drittanbieterprodukte zur Lösung dieses Problems einzusetzen, fand sie jedoch in Bezug auf Kontrolle und Zuverlässigkeit mangelhaft; einige Dienste wurden sogar vollständig eingestellt.
Um diese Reibungspunkte anzugehen, entwickelte Cloudflare Forge als interne Lösung und veröffentlicht es nun als Open Source. Das Tool erzeugt bereits die Ausgabe, die für das cf CLI erforderlich ist, und soll in den kommenden Monaten auch die API-Dokumentation und SDKs von Cloudflare unterstützen. Durch die Veröffentlichung als Open Source beabsichtigt das Unternehmen, anderen Organisationen zu ermöglichen, die erforderlichen Schnittstellen sowohl für menschliche Entwickler als auch für KI-Agenten zu generieren, ohne auf proprietäre SaaS-Anbieter angewiesen zu sein.
Wie es funktioniert
Forge arbeitet als austauschbare Generierungspipeline, die direkt in Continuous-Integration-Workflows integriert wird. Es funktioniert ähnlich wie Cloudflares Workers Previews und erstellt für jede über Pull Requests eingereichte Änderung einen vollständigen Preview-Build. Wenn ein Entwickler eine API-Spezifikation ändert, lintet Forge die Änderung und generiert Preview-Builds des CLIs, der Dokumentation und der SDKs. Diese Vorschauen heben nur die spezifisch vorgenommenen Änderungen hervor, sodass Ingenieure die neuen Artefakte sofort installieren und testen können. Dieser Prozess hilft dabei, Breaking Changes oder Fehler im CI-Stadium zu erkennen und verhindert nachgelagerte Probleme, bevor sie die Produktion erreichen.
Eine Kernfunktion von Forge ist die Fähigkeit, Transformer zu verketten, was bedeutet, dass Ausgaben aus anderen Ausgaben generiert werden können, nicht nur aus der ursprünglichen Quellenspezifikation. Während viele Generatoren Ziele wie CLIs oder Terraform-Provider direkt aus einem Go-SDK erzeugen, ermöglicht Forge Benutzern, diesen Verkettungsprozess selbst zu steuern. Zum Beispiel nutzt Cloudflare diese Funktion, um sein TypeScript-basiertes cf CLI aus dem TypeScript-SDK zu generieren, das wiederum aus der OpenAPI-Definition abgeleitet ist. Diese Flexibilität unterstützt die Hinzufügung lokaler Verhaltensweisen, wie benutzerdefinierte CLI-Befehle, die keinen direkten API-Aufrufen entsprechen, und stellt sicher, dass diese manuellen Ergänzungen korrekt in der generierten Dokumentation widergespiegelt werden.
Das System ist so konzipiert, dass es über Standard-Sprachziele hinaus erweiterbar ist. Derzeit unterstützt es OpenAPI als Eingabetyp, mit Plänen, AsyncAPI, GraphQL, Cap’n Proto und Protobuf in Zukunft zu unterstützen. Diese Architektur ermöglicht die Generierung spezialisierter Tools wie Cap’n Web, Cloudflares RPC-System, das es TypeScript erlaubt, remote APIs so aufzurufen, als wären sie lokale Methoden. Es erleichtert auch die Erstellung von Bindings für Tools wie TanStack Query, Zod-Schemas, Valibot-Schemas und Model Context Protocol Server, wodurch sichergestellt wird, dass alle verbraucherseitigen Schnittstellen mit dem tatsächlichen API-Zustand synchronisiert bleiben.
Wichtige Details
- Forge wird unter der permissiven Apache-2.0-Lizenz veröffentlicht, was eine kostenlose private oder öffentliche Nutzung ermöglicht.
- Das Tool unterstützt derzeit OpenAPI-Eingaben, wobei zukünftige Unterstützung für GraphQL, AsyncAPI und Protobuf geplant ist.
- Es generiert Preview-Builds für jeden Pull Request und hebt Änderungen für sofortiges Testen hervor.
- Forge unterstützt verkettete Ausgaben, was die Erstellung von CLIs aus SDKs ermöglicht, nicht nur aus Spezifikationen.
- Die Pipeline wird bereits für Cloudflares cf CLI eingesetzt und wird bald dessen Haupt-SDKs antreiben.
- Es ist darauf ausgelegt, den Koordinationsaufwand zu reduzieren, indem Breaking Changes in CI erkannt werden.
Warum es wichtig ist
Für Software-Teams, die große oder verteilte APIs verwalten, ist die Aufrechterhaltung konsistenter Client-Bibliotheken und Dokumentationen eine erhebliche operative Belastung. Traditionelle Ansätze beinhalten oft manuelle Updates oder starre Generatoren, die individuelle Logik oder mehrsprachige Anforderungen nicht berücksichtigen. Forge begegnet diesem Problem, indem es eine selbst gehostete, kontrollierbare Alternative zu volatilen Drittanbieterdiensten bietet. Indem Teams die Generierungspipeline in ihrer eigenen CI-Umgebung betreiben, übernehmen sie die Verantwortung für ihre Entwicklererlebnis-Tools und können sicherstellen, dass SDKs und Docs immer mit den neuesten API-Definitionen synchron sind.
Der Aufstieg von KI-Agenten als API-Konsumenten erhöht zusätzlich den Bedarf an robusten, maschinenlesbaren Schnittstellen. Agenten benötigen präzise SDKs, klare Dokumentation und standardisierte Protokolle wie MCP, um effektiv mit Diensten zu interagieren. Forges Fähigkeit, diese Schnittstellen automatisch zu generieren, stellt sicher, dass Produkte sowohl für menschliche Entwickler als auch für automatisierte Systeme zugänglich bleiben. Dieser Wandel betrachtet Kompatibilität mit Agenten als Grundvoraussetzung statt als nachträglichen Einfall, was Organisationen hilft, ihre APIs gegen sich entwickelnde Konsummuster zukunftssicher zu machen.
Darüber hinaus bietet die Unterstützung des Tools für API-Versionierungsstrategien einen Weg nach vorn für langlebige Dienste. Cloudflare weist darauf hin, dass seine v4-API seit zehn Jahren besteht und Änderungen angesammelt hat, die traditionell einen großen Versionswechsel rechtfertigen würden. Durch die Verwendung von Forge zur inkrementellen Veröffentlichung von Artefakten können Teams Versionierungsansätze erkunden, die neue Funktionen einführen, ohne bestehende Clients zu brechen. Dies ist besonders relevant für komplexe Ökosysteme wie Terraform, wo Upgrades sorgfältiges Management erfordern, um Infrastrukturdeployments nicht zu stören.
Was Sie tun können
- Evaluieren Sie Forge für Ihren aktuellen API-Generierungsworkflow, um festzustellen, ob es den manuellen Wartungsaufwand reduziert.
- Integrieren Sie die Pipeline in Ihr CI-System, um für jeden Pull Request Preview-Builds zu generieren.
- Nutzen Sie die Verkettungsfunktion, um benutzerdefinierte CLIs oder Dokumentation aus Ihren bestehenden SDKs zu erstellen.
- Experimentieren Sie mit der Generierung von Bindings für spezifische Bibliotheken wie TanStack Query oder Validierungs-Schemas.
- Tragen Sie zum Open-Source-Projekt bei, wenn Sie Verbesserungen für unterstützte Eingabeformate haben.
- Planen Sie Ihre API-Versionierungsstrategie, indem Sie inkrementelle Artefakt-Releases nutzen, anstatt Big-Bang-Updates.
