24 个仓库
Tools that generate server, client, and CLI code from OpenAPI/Swagger specification documents.
Distinct from Specification from Code Generators: Distinct from Specification from Code Generators: generates code from the specification, not the specification from code.
Explore 24 awesome GitHub repositories matching software engineering & architecture · Code from Specification 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.
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.
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 组件和管理项目依赖项。
Produces implementation controllers and models directly from OpenAPI specifications to ensure design compliance.
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.
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.
FreeSql 是一个 .NET 对象关系映射器(ORM)和数据访问层,可将面向对象的代码转换为适用于多种关系型数据库提供程序的 SQL。它作为一个流畅的 SQL 查询构建器和数据库架构同步器,允许开发者将数据库表和索引结构与实体类定义保持一致。 该框架专门针对 .NET Native AOT 进行了优化,以确保更小的内存占用和更快的启动时间。它包含一个数据库流量管理器,通过读写分离、动态分表和基于租户的数据隔离来分配负载。 其广泛的功能包括使用特定于提供程序的批量复制机制实现高性能数据摄入,利用窗口函数和递归 CTE 进行高级查询,以及基于 AOP 的数据变更审计监控。该系统还提供用于自动迁移的架构管理工具,以及用于从数据库元数据生成实体类的开发实用程序。
Produces object-oriented entity classes and DTOs automatically based on database metadata and table structures.
Vue.NetCore 是一个全栈脚手架工具,可根据数据库架构自动生成基于 .NET Core 和 Vue.js 的前端和后端代码。它作为一个 CRUD 样板生成器和数据库编排器,将实体映射到业务逻辑中,以创建管理界面和 API 端点。 该项目提供了一个多平台 UI 脚手架,可生成兼容 Web、iOS、Android 和微信小程序的可执行代码。它利用带有 Vite 的 TypeScript Web 框架,并利用 SqlSugar 自动化数据库实体的映射。 该系统涵盖了企业级 CRUD 自动化,包括生成数据驱动的表单、高级搜索查询界面和主从表关系。它还包括自动化 API 开发和 Excel 数据导入接口的功能。
Generates both frontend and backend source code by parsing database schema attributes and configuration metadata.
swagger-typescript-api 是一个解析 OpenAPI 定义以生成强类型数据模型和 Web 应用服务包装器的实用程序。它将 OpenAPI 规范转换为类型安全的 TypeScript API 客户端,消除了手动编写请求和响应样板代码的需求。 该生成器通过可插拔的传输适配器生成可互换的客户端逻辑,允许用户在 Fetch 和 Axios 之间切换以进行网络请求。它使用基于模板的源码发射,将生成的类型和方法注入到一致的客户端结构中。 该项目处理 OpenAPI 数据类型和 JSON 模式到 TypeScript 接口和类型别名的映射。它提供静态类型推断,以确保网络层请求和响应载荷的编译时安全。
Produces TypeScript source code by parsing OpenAPI specification files and mapping schemas to language constructs.