Cloudflareは9月28日、SDK、CLI、ドキュメント、ライブラリを生成するオープンソースのパイプラインForgeを公開した。ライセンスはApache 2.0で、自前の環境に置いて無料で実行できる。まだ初期段階だが、全API対応をうたうcf CLIの生成出力はすでにForgeが作っており、今後数カ月でAPIドキュメントやSDKにも広げる。
同社のAPIは3500を超える操作で、実装言語はRust、Go、TypeScript、Pythonにまたがる。ホスト型の生成サービスでは、あるチームの変更が生成を壊し、別チームがリリース時に気づく、という調整コストが問題だった。Forgeは各APIリポジトリのCIで動き、変更を検査したうえで、その差分だけを反映したCLI、ドキュメント、SDKのプレビューをインストールして試せる。数百リポジトリに分散したAPI面でも、マージ前に生成が壊れていないかを見る前提だ。
生成対象とバージョン
入力は現時点でOpenAPIである。生成器は連結でき、TypeScript SDKからCLIやCap'n Webの定義を派生させる。Cap'n Webは、リモートAPIをローカルメソッドのように呼び、複数の取得を1リクエストにまとめられるRPCだ。AsyncAPIやGraphQL、Protobufなどは、これから受けられるように設計している段階で、今使える入力ではない。
CLIは生成コードだけでは足りない。cf devやcf buildのように、APIに無いローカル操作を手書きし、その内容をドキュメントへ戻す必要がある。Forgeはこの連結を利用側が制御できることを目的にしている。TypeScript、Rust、Python、Go、PHP、TerraformのSDKは「まもなく」であり、今回の公開時点の成果物は生成基盤とcf CLIへの適用だ。エージェントにAPIを渡すチームは、SDKとCLIを外部SaaSの生成にロックされないかを確認できる。