24 repositorios
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 es una herramienta que inspecciona tablas de bases de datos para producir automáticamente objetos de modelo, interfaces de mapper y archivos de configuración SQL. Funciona como un mapeador de esquemas de base de datos y generador de operaciones CRUD, traduciendo columnas de bases de datos relacionales en clases y registros específicos del lenguaje. El proyecto es un generador de código extensible que permite la personalización de archivos de salida a través de un mecanismo de plugins. Este framework permite la adición de lógica de negocio específica o la modificación del proceso de generación para producir archivos de salida adaptados. El generador cubre una amplia gama de capacidades, incluyendo la implementación de consultas dinámicas, la creación de modelos inmutables y la automatización de operaciones estándar de creación, lectura, actualización y eliminación. Admite el mapeo de esquemas de bases de datos con claves primarias virtuales y puede generar código para múltiples lenguajes, incluido Kotlin. El proceso de generación puede ejecutarse mediante herramientas de línea de comandos, llamadas directas a funciones o como un plugin de herramienta de construcción integrado en pipelines de integración continua.
Produces source files and XML configurations by inspecting database table metadata and column definitions.
Blog.Core es un boilerplate de backend listo para producción para construir API empresariales y microservicios utilizando ASP.NET Core. Proporciona una infraestructura fundamental para sistemas distribuidos, incluyendo herramientas para scaffolding de base de datos y la implementación de frameworks de API multi-inquilino (multi-tenant). El proyecto se distingue por la generación automatizada de la capa de datos, que produce modelos de entidad y capas de repositorio directamente a partir de esquemas de base de datos. Implementa un sistema centralizado de gestión de identidad utilizando protocolos estándar de servidor de identidad para manejar la autenticación y autorización a través de múltiples clientes y proyectos. El framework cubre una amplia gama de capacidades empresariales, incluyendo procesamiento de mensajes asíncronos mediante buses de eventos, caché de memoria distribuida y división de tráfico de base de datos de lectura-escritura. Incorpora control de acceso basado en roles con restricciones de datos departamentales y proporciona observabilidad del sistema mediante perfilado de rendimiento de API y auditoría de actividades. El sistema también incluye soporte para comunicación bidireccional servidor-cliente para notificaciones push, integración de búsqueda de texto completo y configuración centralizada de servicios.
Automatically generates entity models and API controllers by scanning database schemas using predefined templates.
LoopBack Next es un framework de API de Node.js utilizado para construir APIs REST y multiprotocolo. Funciona como una implementación de servidor OpenAPI que puede generar especificaciones legibles por máquina a partir del código o producir controladores e implementaciones de modelos a partir de especificaciones existentes. El framework se distingue por un contenedor central de inyección de dependencias y una capa de acceso a datos basada en el patrón repositorio. Esta arquitectura desacopla la lógica de la aplicación de la construcción de componentes y el almacenamiento persistente, permitiendo un sistema conectable donde las fuentes de datos y la lógica de negocio están aisladas a través de un sistema de conectores estandarizado. El proyecto cubre una amplia gama de capacidades, incluyendo control de acceso basado en roles con estrategias de autenticación conectables y la orquestación de servicios REST y SOAP externos. También proporciona herramientas para comunicación en tiempo real mediante endpoints WebSocket, validación de esquemas JSON y andamiaje (scaffolding) automatizado de proyectos a través de una interfaz de línea de comandos. El desarrollo está respaldado por un conjunto de herramientas CLI para arrancar aplicaciones, generar componentes de API y gestionar dependencias del proyecto.
Produces implementation controllers and models directly from OpenAPI specifications to ensure design compliance.
Prototool es un kit de herramientas de desarrollo para Protocol Buffers que proporciona un conjunto de herramientas para linting, formateo y generación de código a partir de archivos de esquema. Funciona como un sistema para gestionar el ciclo de vida de las definiciones de Protocol Buffer a través de una interfaz de línea de comandos. El kit de herramientas se distingue por proporcionar un detector de cambios disruptivos (breaking change detector) que compara diferentes versiones de definiciones para identificar cambios incompatibles en la red o en el código fuente. También incluye una interfaz de cliente gRPC capaz de invocar endpoints utilizando solicitudes JSON mediante la compilación dinámica de definiciones Protobuf. El proyecto cubre amplias áreas de capacidad, incluyendo validación de esquemas y aplicación de estilos, generación de stubs de código específicos para cada lenguaje y gestión automatizada de binarios del compilador. También proporciona utilidades para la exportación de conjuntos de descriptores de archivos y la generación de archivos de esquema con boilerplate automatizado.
Transforms schema definitions into source code for various languages using managed compiler versions.
JSONExport es un generador de código multilingüe y convertidor de esquemas JSON que transforma estructuras de datos JSON en clases de código fuente fuertemente tipadas. Sirve como mapeador de respuestas de API, convirtiendo objetos JSON en objetos de transferencia de datos (DTO) para automatizar la creación de clases de modelo. La herramienta se especializa en la síntesis de modelos multilingües, permitiendo a los usuarios definir modelos de datos en diferentes lenguajes de programación utilizando una única entrada JSON. Genera código repetitivo (boilerplate) de clases, incluyendo constructores y accesores, y proporciona un pipeline de vista previa para revisar el código fuente resultante antes de guardarlo. El proyecto cubre la implementación de modelos de datos y la generación de boilerplate de código fuente a través de un enfoque basado en plantillas que mapea tipos de datos JSON a sintaxis de lenguaje específica.
Automates the creation of DTOs and class definitions across multiple target languages from a single JSON source.
Kaitai Struct es un framework para especificación binaria declarativa que proporciona generación automatizada de analizadores y serializadores a través de múltiples lenguajes de programación. Utiliza un lenguaje portátil específico del dominio para describir el diseño de archivos binarios y paquetes de red, convirtiendo estas especificaciones en código fuente para leer y escribir datos binarios. El sistema permite el procesamiento de datos entre lenguajes traduciendo una definición estructural única en código fuente nativo para lenguajes incluyendo C++, C#, Go, Java, JavaScript, Python y Rust. Este enfoque permite que la misma especificación de datos binarios se implemente a través de diferentes plataformas sin reescribir manualmente la lógica de análisis. El framework cubre el modelado y procesamiento de datos binarios, incluyendo la capacidad de gestionar punteros de lectura para navegación de offset y aplicar transformaciones de datos como descompresión y descifrado. También proporciona herramientas para la depuración de especificaciones de formato para validar el mapeo entre diseños de datos binarios y sus descripciones declarativas.
Generates native source code for multiple target languages from a single structural binary specification.
Luban es una cadena de herramientas de configuración de juegos diseñada para convertir datos basados en hojas de cálculo en formatos binarios optimizados y código fuente con tipado fuerte para múltiples lenguajes. Funciona como una suite integral para la validación de configuración, pipelines de serialización de datos y generación de código para asegurar la consistencia de los datos en diferentes plataformas. El sistema cuenta con un generador de código multilenguaje que produce clases de datos fuertemente tipadas a partir de esquemas, eliminando la necesidad de reflexión. Incluye un gestor de localización para exportar texto traducido y activos con parches específicos de la configuración regional, y un pipeline de serialización que transforma archivos fuente estructurados en binarios para una transferencia de red eficiente. La cadena de herramientas proporciona un motor de validación de configuración para realizar comprobaciones de integridad referencial y verificación de rutas de recursos. Además, soporta el modelado de datos complejo a través de un sistema de tipos orientado a objetos que permite la herencia de datos y estructuras anidadas dentro de los archivos de configuración.
Generates source code for a variety of target languages from a single configuration specification.
FreeSql es un mapeador objeto-relacional (ORM) y capa de acceso a datos para .NET que traduce código orientado a objetos a SQL para múltiples proveedores de bases de datos relacionales. Funciona como un constructor de consultas SQL fluido y sincronizador de esquemas de base de datos, permitiendo a los desarrolladores alinear las estructuras de tablas e índices de la base de datos con las definiciones de clases de entidad. El framework está optimizado específicamente para .NET Native AOT para garantizar huellas de memoria reducidas y tiempos de inicio más rápidos. Incluye un gestor de tráfico de base de datos para distribuir la carga a través de división de lectura-escritura, fragmentación de tablas dinámica y aislamiento de datos basado en inquilinos. Las capacidades amplias incluyen ingesta de datos de alto rendimiento utilizando mecanismos de copia masiva específicos del proveedor, consultas avanzadas con funciones de ventana y CTEs recursivos, y monitoreo basado en AOP para auditar cambios de datos. El sistema también proporciona herramientas de gestión de esquemas para migraciones automatizadas y utilidades de desarrollo para generar clases de entidad a partir de metadatos de base de datos.
Produces object-oriented entity classes and DTOs automatically based on database metadata and table structures.
Vue.NetCore is a full-stack scaffolding tool that automatically generates frontend and backend code using .NET Core and Vue.js based on database schemas. It functions as a CRUD boilerplate generator and database orchestrator that maps entities into business logic to create administrative interfaces and API endpoints. The project provides a multi-platform UI scaffold, producing compatible code for web, iOS, Android, and WeChat mini-programs. It utilizes a TypeScript web framework with Vite and leverages SqlSugar to automate the mapping of database entities. The system covers enterprise CRUD a
Generates both frontend and backend source code by parsing database schema attributes and configuration metadata.
swagger-typescript-api es una utilidad que analiza definiciones de OpenAPI para generar modelos de datos fuertemente tipados y wrappers de servicio para aplicaciones web. Transforma especificaciones de OpenAPI en clientes API de TypeScript con seguridad de tipos, eliminando la necesidad de boilerplate manual de peticiones y respuestas. El generador produce lógica de cliente intercambiable a través de adaptadores de transporte conectables, permitiendo a los usuarios cambiar entre Fetch y Axios para peticiones de red. Utiliza la emisión de código fuente basada en plantillas para inyectar tipos y métodos generados en una estructura de cliente consistente. El proyecto maneja el mapeo de tipos de datos de OpenAPI y esquemas JSON en interfaces y alias de tipo de TypeScript. Proporciona inferencia de tipos estática para asegurar la seguridad en tiempo de compilación para los payloads de petición y respuesta a través de la capa de red.
Produces TypeScript source code by parsing OpenAPI specification files and mapping schemas to language constructs.