6 Repos
API design tools that start with a shared contract and produce server implementation and client code from a single source of truth.
Distinct from Contract-First Server Implementations: Distinct from Contract-First Server Implementations: encompasses the full framework including client generation, not just server-side implementation.
Explore 6 awesome GitHub repositories matching software engineering & architecture · Contract-First API Frameworks. Refine with filters or upvote what's useful.
Goa is a design-first Go framework that generates server and client code, documentation, and request validation from a single declarative domain-specific language (DSL). At its core, it provides a Go DSL for defining API endpoints, data types, and error models, which compiles into fully functional HTTP and gRPC server stubs, client packages, and OpenAPI specifications. The framework distinguishes itself through its plugin-extensible code generation pipeline, allowing custom code generation steps, middleware, or transport layers to be added via plugins. It supports multiple transport protocols
A design-first Go framework that generates server and client code, documentation, and validation from a single declarative DSL.
TypeSpec is a language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code from a single source of truth. It functions as a protocol-agnostic API designer that models REST, gRPC, and other API protocols using a unified, extensible syntax, with a decorator-based metadata system for attaching metadata, validation rules, and lifecycle visibility to API models and operations. The compiler produces OpenAPI 3.0 specifications and other artifacts, and the tool supports declaring API versions and tracking changes to models, properties, and operations across releas
Defines API shapes and endpoints in a single source-of-truth language before generating code and documentation.
protobuf-net ist ein binäres Serialisierungs-Framework und eine .NET-Bibliothek, die die Protocol-Buffers-Spezifikation implementiert. Es fungiert als schema-basiertes Serialisierungstool und Contract-First-Datenmapper, der komplexe Objektgraphen für die Speicherung und Netzwerkübertragung in ein kompaktes Binärformat umwandelt. Die Bibliothek ermöglicht plattformübergreifenden Datenaustausch und High-Performance-Networking durch Reduzierung von Payload-Größen und Verarbeitungszeit. Sie unterstützt spezifisch die Persistenz von Objekthierarchien und ermöglicht die Serialisierung und Rekonstruktion komplexer Klassenstrukturen, die Vererbung und abgeleitete Typen beinhalten. Das Projekt deckt Kernfunktionen ab, einschließlich binärer Datenserialisierung und -deserialisierung, schema-gesteuerter Klassengenerierung und der Verwaltung von Typvererbung durch eindeutige Identifikatoren. Es bietet Mechanismen zum Mapping von Datenstrukturen über statische Attribute oder dynamische Runtime-Konfigurationen.
Uses a contract-first approach to define type mappings for binary object reconstruction and inheritance.
orpc is a contract-first API development framework for TypeScript that starts with a shared contract definition and generates type-safe clients and servers from that single source of truth. It guarantees end-to-end type safety, meaning inputs, outputs, errors, and streaming data are all checked at compile time across the client–server boundary. What distinguishes orpc from typical RPC frameworks is its ability to export contracts as OpenAPI specifications, to optimize server-side rendering by calling API handlers directly inside the server process, and to support real‑time bidirectional commu
An API design tool that starts with a shared contract and produces server implementation and client code from a single source of truth.
Connexion ist ein Spec-First-Python-Webframework, das darauf ausgelegt ist, Serververhalten und Validierungslogik direkt aus einem vordefinierten API-Vertrag abzuleiten. Es ermöglicht die Entwicklung von Webdiensten durch die Verwendung einer OpenAPI-Spezifikation, um Routing, Request-Validierung und Response-Serialisierung automatisch zu handhaben. Das Framework zeichnet sich dadurch aus, dass es als OpenAPI-Request-Validator und Mock-Server fungiert. Es kann API-Verhalten simulieren, indem es Beispielantworten basierend auf Spezifikationsschemata bereitstellt, was Frontend-Entwicklung und Prototyping vor Abschluss der Backend-Implementierung ermöglicht. Zudem hostet es eine interaktive API-Dokumentationsschnittstelle, die Benutzern eine Konsole zur Visualisierung und zum Testen von Endpunkten bietet. Das Projekt deckt ein breites Spektrum an Funktionen ab, einschließlich automatisierter Routenregistrierung, Parameter-Injektion und Sicherheitsdurchsetzung basierend auf Vertragsdefinitionen. Es bietet zudem Tools zur Schema-Validierung von Requests und Responses sowie die Möglichkeit, Anwendungs-Exceptions auf standardisierte maschinenlesbare Fehlerantworten abzubilden.
Implements a design workflow where the API contract drives the generation of routing and validation logic.
RAML is a declarative YAML-based specification language used for modeling RESTful interfaces and data structures. It functions as a contract-first API framework and modeling standard, establishing a formal agreement for service communication and a single source of truth before implementation begins. The specification enables the automation of functional mock servers and the generation of language-specific client SDKs directly from the definition files. It supports a modular approach to API design through the use of external libraries, overlays for extending contracts, and reusable traits and
Provides a complete framework for defining API contracts that serve as the single source of truth for both server and client implementation.