A Go web framework that automatically generates OpenAPI 3 specifications from source code, compatible with Gin and Echo.
Fuego is a production-ready Go API framework that simplifies building APIs and web applications by automatically generating OpenAPI 3 documentation directly from code. It is built on top of the standard net/http package, ensuring full compatibility with the Go ecosystem and existing middleware. The framework leverages Go generics to provide modern features like automatic serialization, validation, and data transformation without requiring manual YAML or comment-based documentation.
Go developers building RESTful APIs or web applications who need automatic OpenAPI documentation generation and want to avoid framework lock-in. It is particularly suited for teams transitioning from Node.js frameworks like Nest or those using existing Go frameworks like Gin or Echo who want to add OpenAPI support without rewriting their servers.
Developers choose Fuego over alternatives like Chi, Gin, Fiber, or Echo because it uses Go generics to automatically deduce OpenAPI types from code signatures, eliminating the need for manual documentation. Its seamless net/http compatibility allows using any standard http.Handler middleware, preventing vendor lock-in while offering modern conveniences like automatic validation and serialization.
Golang Fuego - Web framework generating OpenAPI 3 spec from source code - Pluggable to existing Gin & Echo APIs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates OpenAPI 3 specifications directly from code using Go generics, eliminating the need for manual YAML or comment-based documentation, as demonstrated in the simple POST example where routes are auto-documented.
Built on top of the standard net/http package, allowing seamless use of any http.Handler middleware and preventing framework lock-in, evidenced by the fuego.GetStd function for integrating standard handlers.
Provides validation via go-playground/validator and custom data transformation through InTransform and OutTransform interfaces, simplifying request/response processing, as shown in the transformation example with custom error handling.
Offers adaptors to plug into existing Gin or Echo servers to generate OpenAPI documentation without rewriting, making it practical for incremental adoption in legacy projects.
As a newer framework, it has a smaller community and fewer third-party integrations compared to established alternatives like Gin or Echo, which might limit support and resources for complex use cases.
Requires Go 1.18 or later, which can be a barrier for projects stuck on older Go versions or teams cautious about adopting generics due to stability concerns.
The automatic OpenAPI generation and serialization features add complexity that may be unnecessary for very simple APIs or quick prototypes where raw net/http handlers would suffice with less boilerplate.