24 dépôts
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 est un outil qui inspecte les tables de base de données pour produire automatiquement des objets modèles, des interfaces de mapper et des fichiers de configuration SQL. Il fonctionne comme un mappeur de schéma de base de données et un générateur d'opérations CRUD, traduisant les colonnes de base de données relationnelle en classes et enregistrements spécifiques au langage. Le projet est un générateur de code extensible qui permet la personnalisation des fichiers de sortie via un mécanisme de plugin. Ce framework permet l'ajout d'une logique métier spécifique ou la modification du processus de génération pour produire des fichiers de sortie sur mesure. Le générateur couvre un large éventail de capacités, notamment l'implémentation de requêtes dynamiques, la création de modèles immuables et l'automatisation des opérations standard de création, lecture, mise à jour et suppression. Il prend en charge le mappage de schéma de base de données avec des clés primaires virtuelles et peut générer du code pour plusieurs langages, y compris Kotlin. Le processus de génération peut être exécuté via des outils en ligne de commande, des appels de fonction directs ou en tant que plugin d'outil de build intégré dans des pipelines d'intégration continue.
Produces source files and XML configurations by inspecting database table metadata and column definitions.
Blog.Core est un boilerplate backend prêt pour la production pour construire des API d'entreprise et des microservices en utilisant ASP.NET Core. Il fournit une infrastructure fondamentale pour les systèmes distribués, incluant des outils pour le scaffolding orienté base de données et l'implémentation de frameworks d'API multi-tenant. Le projet se distingue par la génération automatisée de la couche de données, qui produit des modèles d'entités et des couches de dépôt directement à partir des schémas de base de données. Il implémente un système de gestion d'identité centralisé utilisant des protocoles de serveur d'identité standards pour gérer l'authentification et l'autorisation à travers plusieurs clients et projets. Le framework couvre un large éventail de capacités d'entreprise, incluant le traitement de messages asynchrones via des bus d'événements, la mise en cache mémoire distribuée et la séparation du trafic de base de données en lecture-écriture. Il intègre un contrôle d'accès basé sur les rôles avec des restrictions de données départementales et fournit une observabilité système via le profilage de performance API et l'audit d'activité. Le système inclut également le support de la communication bidirectionnelle serveur-client pour les notifications push, l'intégration de recherche plein texte et la configuration centralisée des services. Les environnements de production sont gérés via un déploiement NixOS déclaratif pour une infrastructure reproductible.
Automatically generates entity models and API controllers by scanning database schemas using predefined templates.
LoopBack Next est un framework d'API Node.js utilisé pour construire des API REST et multi-protocoles. Il fonctionne comme une implémentation de serveur OpenAPI capable soit de générer des spécifications lisibles par machine à partir du code, soit de produire des contrôleurs et des modèles d'implémentation à partir de spécifications existantes. Le framework se distingue par un conteneur d'injection de dépendances central et une couche d'accès aux données basée sur le pattern repository. Cette architecture découple la logique applicative de la construction des composants et du stockage persistant, permettant un système enfichable où les sources de données et la logique métier sont isolées via un système de connecteurs standardisé. Le projet couvre un large éventail de capacités, incluant le contrôle d'accès basé sur les rôles avec des stratégies d'authentification enfichables et l'orchestration de services REST et SOAP externes. Il fournit également des outils pour la communication en temps réel via des endpoints WebSocket, la validation de schémas JSON, et l'échafaudage automatique de projets via une interface en ligne de commande. Le développement est soutenu par un ensemble d'outils CLI pour amorcer les applications, générer des composants d'API et gérer les dépendances du projet.
Produces implementation controllers and models directly from OpenAPI specifications to ensure design compliance.
Prototool est une boîte à outils de développement pour Protocol Buffers qui fournit une suite d'outils pour le linting, le formatage et la génération de code à partir de fichiers de schéma. Il fonctionne comme un système pour gérer le cycle de vie des définitions Protocol Buffer via une interface en ligne de commande. La boîte à outils se distingue en fournissant un détecteur de changements cassants qui compare différentes versions de définitions pour identifier les changements incompatibles au niveau du fil ou de la source. Elle inclut également une interface client gRPC capable d'invoquer des points de terminaison en utilisant des requêtes JSON en compilant dynamiquement les définitions Protobuf. Le projet couvre de larges domaines de capacités incluant la validation de schéma et l'application de style, la génération de stubs de code spécifiques au langage et la gestion automatisée des binaires de compilateur. Il fournit également des utilitaires pour l'exportation de jeux de descripteurs de fichiers et la génération de fichiers de schéma avec du boilerplate automatisé.
Transforms schema definitions into source code for various languages using managed compiler versions.
JSONExport est un générateur de code multi-langage et un convertisseur de schéma JSON qui transforme les structures de données JSON en classes de code source fortement typées. Il sert de mappeur de réponse API, convertissant les objets JSON en objets de transfert de données (DTO) pour automatiser la création de classes de modèle. L'outil se spécialise dans la synthèse de modèles multi-langages, permettant aux utilisateurs de définir des modèles de données dans différents langages de programmation en utilisant une seule entrée JSON. Il génère le boilerplate de classe, incluant les constructeurs et les accesseurs, et fournit un pipeline de prévisualisation pour examiner le code source résultant avant qu'il ne soit enregistré. Le projet couvre l'implémentation de modèles de données et la génération de boilerplate de code source via une approche basée sur des modèles qui mappe les types de données JSON à une syntaxe de langage spécifique.
Automates the creation of DTOs and class definitions across multiple target languages from a single JSON source.
Kaitai Struct est un framework pour la spécification binaire déclarative qui fournit une génération automatisée d'analyseurs et de sérialiseurs sur plusieurs langages de programmation. Il utilise un langage portable spécifique au domaine pour décrire la mise en page des fichiers binaires et des paquets réseau, convertissant ces spécifications en code source pour la lecture et l'écriture de données binaires. Le système permet le traitement de données multi-langages en traduisant une définition structurelle unique en code source natif pour des langages incluant C++, C#, Go, Java, JavaScript, Python et Rust. Cette approche permet à la même spécification de données binaires d'être implémentée sur différentes plateformes sans réécrire manuellement la logique d'analyse. Le framework couvre la modélisation et le traitement des données binaires, y compris la capacité de gérer des pointeurs de lecture pour la navigation par offset et d'appliquer des transformations de données telles que la décompression et le déchiffrement. Il fournit également des outils pour le débogage de spécification de format afin de valider le mappage entre les mises en page de données binaires et leurs descriptions déclaratives.
Generates native source code for multiple target languages from a single structural binary specification.
Luban est une chaîne d'outils de configuration de jeu conçue pour convertir des données basées sur des feuilles de calcul en formats binaires optimisés et en code source typé pour plusieurs langages. Il fonctionne comme une suite complète pour la validation de configuration, les pipelines de sérialisation de données et la génération de code afin d'assurer la cohérence des données à travers différentes plateformes. Le système dispose d'un générateur de code multi-langage qui produit des classes de données fortement typées à partir de schémas, éliminant le besoin de réflexion. Il inclut un gestionnaire de localisation pour exporter du texte traduit et des assets avec des correctifs spécifiques à la locale, ainsi qu'un pipeline de sérialisation qui transforme les fichiers sources structurés en binaires pour un transfert réseau efficace. La chaîne d'outils fournit un moteur de validation de configuration pour effectuer des vérifications d'intégrité référentielle et de vérification des chemins de ressources. Elle supporte en outre la modélisation de données complexe via un système de types orienté objet qui permet l'héritage de données et des structures imbriquées au sein des fichiers de configuration.
Generates source code for a variety of target languages from a single configuration specification.
FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for multiple relational database providers. It functions as a fluent SQL query builder and database schema synchronizer, allowing developers to align database table and index structures with entity class definitions. The framework is specifically optimized for .NET Native AOT to ensure reduced memory footprints and faster startup times. It includes a database traffic manager to distribute load through read-write splitting, dynamic table sharding, and tenant-based data isolation. Bro
Produces object-oriented entity classes and DTOs automatically based on database metadata and table structures.
Vue.NetCore est un outil d'échafaudage full-stack qui génère automatiquement du code frontend et backend en utilisant .NET Core et Vue.js basés sur des schémas de base de données. Il fonctionne comme un générateur de boilerplate CRUD et un orchestrateur de base de données qui mappe les entités dans la logique métier pour créer des interfaces administratives et des endpoints API. Le projet fournit un échafaudage d'UI multiplateforme, produisant du code compatible pour le web, iOS, Android et les mini-programmes WeChat. Il utilise un framework web TypeScript avec Vite et exploite SqlSugar pour automatiser le mappage des entités de base de données. Le système couvre l'automatisation CRUD d'entreprise, incluant la génération de formulaires pilotés par les données, d'interfaces de requêtes de recherche avancées et de relations de table maître-détail. Il inclut également des capacités pour le développement d'API automatisé et des interfaces d'importation de données Excel.
Generates both frontend and backend source code by parsing database schema attributes and configuration metadata.
swagger-typescript-api est un utilitaire qui analyse les définitions OpenAPI pour générer des modèles de données fortement typés et des wrappers de service pour les applications web. Il transforme les spécifications OpenAPI en clients API TypeScript typés, supprimant le besoin de code répétitif (boilerplate) manuel pour les requêtes et réponses. Le générateur produit une logique client interchangeable via des adaptateurs de transport enfichables, permettant aux utilisateurs de basculer entre Fetch et Axios pour les requêtes réseau. Il utilise une émission de source basée sur des modèles pour injecter les types et méthodes générés dans une structure client cohérente. Le projet gère le mappage des types de données OpenAPI et des schémas JSON en interfaces TypeScript et alias de type. Il fournit une inférence de type statique pour garantir la sécurité à la compilation pour les charges utiles de requête et de réponse à travers la couche réseau.
Produces TypeScript source code by parsing OpenAPI specification files and mapping schemas to language constructs.