28 个仓库
Tools that generate idiomatic Go source code from parsed OpenAPI specifications.
Distinct from OpenAPI Specification Parsers: Focuses on the generation of Go-specific source code rather than the general parsing of the specification.
Explore 28 awesome GitHub repositories matching software engineering & architecture · Go Code Generators. Refine with filters or upvote what's useful.
Protocol Buffers is a binary serialization framework used to encode structured information into compact payloads to reduce network bandwidth and storage. It functions as a cross-language data interchange standard that enables different platforms and languages to exchange structured data using a shared schema. The project includes an interface definition language compiler that transforms schema definitions into type-safe source code for multiple target programming languages. This mechanism decouples data structures from specific language memory layouts and ensures consistent data handling acro
Converts data definitions into source code for multiple programming languages to ensure consistent data handling.
go-swagger is a toolkit for working with Swagger/OpenAPI 2.0 specifications in Go. It generates server, client, and CLI code from a specification document, and can also produce a specification by scanning annotated Go source code. The project includes a static validation engine that checks documents against the schema and project-specific rules, and a specification transformation pipeline that resolves, flattens, and merges documents. The toolkit generates both client and server code from the same specification, ensuring consistency in request and response handling. It also produces a command
Generates Go server, client, and CLI code from Swagger/OpenAPI 2.0 specification documents.
oapi-codegen is an OpenAPI specification compiler and code generator for Go. It transforms OpenAPI definitions into type-safe Go client libraries, server boilerplate, and data models to facilitate contract-first API development. The tool distinguishes itself through a flexible customization system that allows users to override generated types and imports via specification extensions. It supports the use of custom text templates to redefine the final source code structure and provides a specification overlay mechanism to modify or remove endpoints without altering the original source file. Th
Compiles OpenAPI specifications into type-safe Go client libraries and server boilerplate.
LaVague is an LLM web agent framework and large action model designed to translate natural language instructions into executable browser automation scripts. It functions as a multi-modal orchestrator that reasons over web page states and HTML content to automate multi-step tasks via a Selenium-based automation engine. The framework features a modular model provider layer, allowing users to swap between different language and vision models from providers such as Anthropic, Gemini, and Azure OpenAI. It employs a multi-modal world model to process screenshots and HTML structures, utilizing retri
Transforms test specifications into executable code for web applications without requiring manual CSS or XPath selectors.
CUE is a constraint-based configuration language designed for data validation, schema definition, and code generation. At its core, it unifies types and values into a single concept, enabling compile-time validation that catches structural and value errors before runtime. The language treats data and constraints as the same thing, allowing a single definition to serve as both a schema and concrete configuration data. CUE distinguishes itself through its constraint-based unification engine, which combines multiple configuration sources into a single coherent result by merging their constraints
Generates Go code, Protobuf definitions, and OpenAPI specs from CUE schemas.
Orval is an OpenAPI-to-TypeScript code generator that produces fully typed API clients, data-fetching hooks, mock data, validation schemas, and server handlers from OpenAPI or Swagger specifications. It reads any YAML or JSON API specification and generates TypeScript interfaces, HTTP request functions, and framework-specific integration code that ensures compile-time correctness for all API calls. The project distinguishes itself by generating production-ready data-fetching hooks for React Query, Vue Query, Svelte Query, Solid Query, Angular, and SWR, complete with automatic cache invalidati
Reads OpenAPI or Swagger specifications and produces TypeScript API clients, hooks, and mocks.
Tailwind Starter Kit is a copy-paste UI component library built with Tailwind CSS, designed to accelerate front-end development by providing pre-built, reusable interface blocks that can be inserted directly into any project without package managers or build tools. It delivers identical UI components as native code for React, Vue, Angular, and plain HTML, making it a framework-agnostic resource for assembling responsive layouts. The kit structures its UI blocks as plain Tailwind markup that AI code generators can parse and reproduce from natural-language descriptions, making it compatible wit
Generates framework-specific component code from a single source of Tailwind utility classes and HTML structure.
Material Kit is an open-source UI component library that provides pre-styled Material Design elements for building responsive web interfaces with Bootstrap 5. It offers a collection of reusable components like buttons, inputs, navbars, cards, and modals that follow Google's Material Design guidelines, along with a 12-column flexbox grid system for fluid layouts that adapt to any screen size. The kit distinguishes itself by including pre-built page sections such as headers, feature blocks, pricing tables, and footers that can be combined into complete page layouts, reducing the time needed to
Generates framework-specific component code from a single Material Design source for multiple frameworks.
Gorgonia is a Go library that provides an automatic differentiation engine and a computation graph framework for building and training neural networks. It functions as a CUDA-accelerated tensor library and a SIMD-optimized math library, enabling machine learning workflows entirely within the Go ecosystem. The library distinguishes itself through a dual-backend architecture that dispatches neural network operations to either a GPU or CPU depending on CUDA availability at runtime. It constructs differentiable directed acyclic graphs of tensor operations, supports reverse-mode automatic gradient
Generates hardware-specific CUDA kernel source files and Go bindings for GPU acceleration.
Lamp Cloud is a multi-tenant SaaS backend framework built on Java and Spring Cloud that provides a complete foundation for building enterprise-grade administration systems. Its core identity centers on supporting multiple tenant isolation strategies—including database-per-tenant, schema-per-tenant, and shared-table modes—that can be switched without altering business code, alongside a role-based access control system enforced at the gateway layer across all microservices. The framework distinguishes itself through comprehensive tenant lifecycle management tools that allow creating, configurin
Generates controller, service, mapper, and frontend files from database tables to accelerate CRUD development.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Generates C bitfield types with accessor functions from declarative bit-level specifications.
The Azure SDK for Python is a collection of libraries that enables programmatic management of Azure cloud resources and services directly from Python code. It provides a credential-based authentication pipeline for secure access, along with an async-first client design that supports concurrent I/O operations without blocking the event loop. The SDK is built on AutoRest-generated client code from OpenAPI specifications, offering both synchronous and asynchronous service clients. It includes a long-running operation poller abstraction for managing operations that require status checks and retry
Generates Python client libraries from OpenAPI specifications using AutoRest code generation.
MyBatis Generator 是一个检查数据库表以自动生成模型对象、映射器接口和 SQL 配置文件的工具。它作为一个数据库模式映射器和 CRUD 操作生成器,将关系数据库列转换为特定语言的类和记录。 该项目是一个可扩展的代码生成器,允许通过插件机制自定义输出文件。该框架支持添加特定的业务逻辑或修改生成过程,以产生定制的输出文件。 该生成器涵盖了广泛的功能,包括动态查询的实现、不可变模型的创建以及标准增删改查(CRUD)操作的自动化。它支持具有虚拟主键的数据库模式映射,并能为包括 Kotlin 在内的多种语言生成代码。 生成过程可以通过命令行工具、直接函数调用或作为集成到持续集成流水线中的构建工具插件来执行。
Produces source files and XML configurations by inspecting database table metadata and column definitions.
Blog.Core 是一个生产就绪的后端样板,用于使用 ASP.NET Core 构建企业级 API 和微服务。它为分布式系统提供了基础架构,包括用于数据库优先(database-first)脚手架和实现多租户 API 框架的工具。 该项目的特色在于自动数据层生成,可直接从数据库模式生成实体模型和存储库层。它使用标准身份服务器协议实现了集中式身份管理系统,以处理跨多个客户端和项目的身份验证和授权。 该框架涵盖了广泛的企业级功能,包括通过事件总线进行的异步消息处理、分布式内存缓存以及读写数据库流量分离。它结合了具有部门数据限制的基于角色的访问控制,并通过 API 性能分析和活动审计提供系统可观测性。 该系统还包括对用于推送通知的双向服务器-客户端通信、全文搜索集成以及集中式服务配置的支持。
Automatically generates entity models and API controllers by scanning database schemas using predefined templates.
LoopBack Next 是一个用于构建 REST 和多协议 API 的 Node.js API 框架。它作为一个 OpenAPI 服务器实现,既可以从代码生成机器可读的规范,也可以从现有规范生成实现控制器和模型。 该框架的特色在于中央依赖注入容器和存储库模式的数据访问层。这种架构将应用程序逻辑与组件构建和持久化存储解耦,允许通过标准化的连接器系统实现数据源和业务逻辑隔离的可插拔系统。 该项目涵盖了广泛的功能,包括具有可插拔身份验证策略的基于角色的访问控制,以及外部 REST 和 SOAP 服务的编排。它还通过命令行界面提供用于 WebSocket 端点实时通信、JSON 模式验证和自动化项目脚手架的工具。 开发过程由一套 CLI 工具支持,用于引导应用程序、生成 API 组件和管理项目依赖项。
Enables automatic generation of OpenAPI specifications from code and the production of controllers from existing specifications.
Prototool 是一个 Protocol Buffers 开发工具包,提供了一套用于对 schema 文件进行 lint 检查、格式化和代码生成的工具。它通过命令行界面管理 Protocol Buffer 定义的生命周期。 该工具包的特色在于提供了一个破坏性变更检测器,通过比较不同版本的定义来识别线路或源代码层面的不兼容变更。它还包含一个 gRPC 客户端接口,能够通过动态编译 Protobuf 定义来使用 JSON 请求调用端点。 该项目涵盖了广泛的功能领域,包括 schema 验证和样式强制执行、特定语言的代码存根生成以及自动化的编译器二进制文件管理。它还提供了用于导出文件描述符集和自动生成样板 schema 文件的实用程序。
Transforms schema definitions into source code for various languages using managed compiler versions.
JSONExport 是一个多语言代码生成器和 JSON 模式转换器,将 JSON 数据结构转换为强类型源代码类。它作为 API 响应映射器,将 JSON 对象转换为数据传输对象(DTO),以自动化模型类的创建。 该工具专注于多语言模型合成,允许用户使用单一 JSON 输入定义跨不同编程语言的数据模型。它生成类样板代码,包括构造函数和访问器,并提供预览流水线,以便在保存结果源代码之前进行审查。 该项目通过基于模板的方法涵盖数据模型实现和源代码样板生成,将 JSON 数据类型映射到特定的语言语法。
Automates the creation of DTOs and class definitions across multiple target languages from a single JSON source.
AITemplate 是一个提前(ahead-of-time)深度学习编译器,将 PyTorch 神经网络转换为独立的 C++ 源代码。它作为一个 PyTorch 转 C++ 编译器和 GPU 内核融合引擎,生成自包含的可执行二进制文件,无需 Python 解释器或深度学习框架运行时即可运行推理。 该项目专门为 NVIDIA TensorCores 和 AMD MatrixCores 生成优化的 CUDA 和 HIP C++ 代码。它专注于通过将多个神经网络算子组合成单个 GPU 内核的系统,最大限度地提高半精度浮点运算的吞吐量,从而最小化内存开销和延迟。 该工具集涵盖了 GPU 推理加速和高性能计算,提供了自定义 GPU 算子开发以及将图节点映射到硬件特定模板的能力。它包括用于基准测试推理性能和可视化模型优化的实用支持。
Generates optimized CUDA and HIP C++ code specifically tailored for NVIDIA TensorCores and AMD MatrixCores.
Kaitai Struct 是一个声明式二进制规范框架,提供跨多种编程语言的自动化解析器和序列化器生成。它使用一种可移植的领域特定语言来描述二进制文件和网络数据包的布局,并将这些规范转换为用于读取和写入二进制数据的源代码。 该系统通过将单一结构定义翻译为包括 C++、C#、Go、Java、JavaScript、Python 和 Rust 在内的多种语言的原生源代码,实现了跨语言数据处理。这种方法允许在不同平台上实现相同的二进制数据规范,而无需手动重写解析逻辑。 该框架涵盖二进制数据建模和处理,包括管理用于偏移导航的读取指针以及应用解压和解密等数据转换的能力。它还提供格式规范调试工具,以验证二进制数据布局与其声明性描述之间的映射。
Generates native source code for multiple target languages from a single structural binary specification.
Luban 是一个游戏配置工具链,旨在将基于电子表格的数据转换为优化的二进制格式和多语言的类型安全源代码。它作为一个全面的套件,用于配置验证、数据序列化流水线和代码生成,以确保跨平台的数据一致性。 该系统具有多语言代码生成器,可从模式生成强类型数据类,消除了对反射的需求。它包括一个用于导出翻译文本和资产的本地化管理器,以及一个将结构化源文件转换为二进制文件以实现高效网络传输的序列化流水线。 该工具链提供了一个配置验证引擎来执行引用完整性检查和资源路径验证。它还通过面向对象的类型系统支持复杂的数据建模,允许在配置文件中进行数据继承和嵌套结构。
Generates source code for a variety of target languages from a single configuration specification.