16 dépôts
Mechanisms for automatically producing and injecting additional source code during the compilation process.
Distinct from Source Compilation Tools: Focuses on build-time code injection, distinct from general source compilation tools.
Explore 16 awesome GitHub repositories matching development tools & productivity · Source Generators. Refine with filters or upvote what's useful.
Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework primitives, including a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP. The project is distinguished by its pluggable service infrastructure, which allows for the swapping of configuration stores, service registries, and data encoding formats. It utilizes a composable middleware pipeline to inject cross-cutting concerns such as authentication, request validation, and circuit breaking into the service flow. The frame
Offers a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP.
The .NET Compiler Platform is a collection of open-source APIs for C# and Visual Basic that provides deep code analysis, refactoring, and automated source code generation. It serves as the core infrastructure for building development tools, offering a platform to inspect, modify, and understand source code through immutable syntax trees and semantic models. The platform distinguishes itself by providing full-fidelity syntax trees that preserve every character of source code, including whitespace and comments, alongside an incremental compilation pipeline that enables near-instant feedback dur
Automatically produces and injects additional source code during the compilation process by inspecting existing syntax and metadata.
Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform development. It translates high-level source code into C, C++, or JavaScript, allowing developers to produce efficient native binaries or web-compatible scripts from a single codebase. The language emphasizes a clean, indentation-based syntax that simplifies code hierarchy while maintaining the power of a full-featured systems language. What distinguishes Nim is its robust metaprogramming framework, which allows developers to inspect, modify, and generate code structures during th
Translates high-level source code into C to facilitate distribution and installation on diverse systems.
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
Automatically compiles protocol definitions into source code during the build process to facilitate service communication.
This project is a multi-language quine relay, a collection of source code files where each program outputs the source code for the next in a sequence until the original code is recreated. It serves as a technical demonstration of recursive program execution and polyglot code generation, verifying the integrity of multi-stage code cycles across diverse programming languages. The system distinguishes itself through automated relay orchestration, which triggers sequential compilation and execution steps to ensure the entire chain functions correctly. Each program contains the encoded logic requi
Constructs programs that output the exact source code of the subsequent program in a recursive chain.
AndroidAnnotations is a boilerplate generator and component annotation library designed for Android development. It functions as a dependency injection framework that uses custom annotations to automate the wiring of activities, fragments, and services. The project focuses on reducing manual plumbing through the automation of Android boilerplate. It provides automated solutions for dependency injection and view binding, removing the need for repetitive calls to locate UI elements or manually write factory classes. The library covers activity lifecycle management and the generation of standar
Utilizes source generators to automatically produce helper classes during the build process.
This project provides the core framework and system API layer for the Android operating system. It consists of the fundamental Java and C++ libraries that define system behavior and establish the interface contracts required for system applications and hardware abstraction. The project includes a runtime optimizer used to reduce startup time and improve execution speed by pre-compiling methods and configuring boot images. It also features a software quality toolchain that enforces code formatting, audits commit metadata, and manages API compatibility to ensure stable interface contracts acros
Automatically produces source code from protocol buffer definition files during the compilation process.
F Prime est un framework basé sur des composants conçu pour le développement et le déploiement de logiciels embarqués et spatiaux. Il fournit une architecture modulaire qui découple la logique logicielle des interfaces de communication, permettant aux développeurs de définir des structures système via un langage de modélisation spécifique au domaine. Cette approche basée sur les modèles permet la génération automatique de code, garantissant la cohérence des topologies système complexes tout en maintenant des contrats d'interface stricts entre les modules logiciels. Le framework se distingue par son système de build intégré et sa suite d'opérations de données au sol. Il automatise l'intégralité du cycle de vie des logiciels embarqués, de la compilation croisée et la gestion des dépendances à la génération d'interfaces de télémétrie et de commande. En fournissant un environnement unifié pour les logiciels de vol embarqués et la surveillance au sol, il facilite l'intégration, les tests et le contrôle des systèmes embarqués distribués sur diverses plateformes matérielles. Au-delà de son architecture centrale, le projet inclut des outils complets pour l'observabilité du système, notamment la visualisation de télémétrie en temps réel, la journalisation d'événements et le traçage de diagnostic. Il prend en charge un large éventail de scénarios de déploiement, des environnements bare-metal aux systèmes d'exploitation temps réel, et fournit des mécanismes pour la gestion de la mémoire, la modélisation de comportement pilotée par les états et l'exécution de tâches asynchrones. Le projet est maintenu sous forme de dépôt C++ avec une documentation étendue et un support du système de build pour le développement multiplateforme.
Automates the creation of software components by processing input files through defined build rules.
This project is a Java annotation processing framework and source code generator designed to automate repetitive boilerplate and reduce manual coding errors. It functions as a toolkit for building custom annotation processors that produce source code, metadata, and type definitions during the compilation process. The framework specifically automates the creation of immutable value types with built-in equality and hashing logic, as well as the generation of factory implementations for dependency injection. It also handles the automated production of service provider configuration files to enab
Produces immutable value types, factory implementations, and service provider configurations during the compilation process.
ET is a C# game server framework and distributed actor model runtime designed for large-scale multiplayer environments. It provides a comprehensive toolkit for building distributed game backends, incorporating a multiplayer network transport layer and a specialized suite for game AI and pathfinding. The framework is distinguished by its use of a distributed actor model to scale processing across multiple threads and servers, utilizing isolated actors for state management and messaging. It features a unified codebase architecture that allows shared logic between the server and client, enabling
Uses C# source generators to automatically produce system classes and entity methods at compile time.
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
Provides a complete toolset for contract-first development by generating both server boilerplate and client libraries from a spec.
NSwag is an OpenAPI toolchain for .NET that provides a suite of generators for converting OpenAPI specifications and JSON schemas into clients, server stubs, and structured documentation. It enables the creation of type-safe client libraries and data transfer objects, as well as the generation of OpenAPI specifications by analyzing .NET controllers. The project supports contract-first API development by generating server controller stubs from specifications and offers dedicated TypeScript API integration to ensure type safety in frontend applications. It also provides tools for hosting intera
Offers a comprehensive toolset for defining API contracts and generating the corresponding server and client boilerplate.
NSwag is a toolchain for the .NET ecosystem designed to automate the generation of API documentation, server controllers, and typed client proxies from OpenAPI contracts. It functions as a contract-first API tool that enables the creation of server-side boilerplate and client libraries based on predefined specifications. The suite distinguishes itself through its ability to extract OpenAPI specifications from existing ASP.NET Core code via reflection and its capacity to generate type-safe TypeScript client proxies. It also provides an interactive documentation server that hosts and renders th
Provides an integrated toolset for defining API contracts and generating corresponding server and client boilerplate.
Sbt est un outil de construction JVM et un système de gestion de dépendances conçu pour Scala et Java. Il fonctionne comme un orchestrateur de construction multi-projets qui gère la compilation du code source, résout les bibliothèques externes à partir de dépôts distants et emballe les binaires pour la distribution. Le projet se distingue par son système de construction interactif, qui fournit une boucle de lecture-évaluation-impression (REPL) pour l'inspection de l'état en temps réel et l'exécution des tâches. Il utilise un modèle d'exécution basé sur un graphe de dépendances pour traiter les tâches et maintient un magasin clé-valeur typé pour la configuration dynamique de la construction. Ses capacités couvrent l'automatisation de la construction JVM avec recompilation incrémentale, l'organisation modulaire des projets et l'exécution automatisée des tests. Le système prend également en charge la compilation multi-versions, la publication d'artefacts vers le stockage cloud et un modèle de plugin extensible pour ajouter une logique de construction personnalisée.
Automatically produces and injects source or resource files during the build process using programmable hooks.
Mapperly est un générateur de code source C# utilisé pour le mappage objet-à-objet haute performance dans .NET. Il fonctionne comme une bibliothèque de mappage à la compilation qui produit le code de transformation nécessaire durant le processus de build, éliminant le besoin de réflexion à l'exécution lors de la conversion entre modèles de domaine et objets de transfert de données (DTO). L'outil se distingue par sa validation diagnostique typée et son application stricte du mappage, émettant des avertissements pour les propriétés non mappées au moment de la compilation. Il inclut des fonctionnalités spécialisées pour la gestion des références circulaires et le clonage profond afin de maintenir l'identité des objets et d'éviter les boucles infinies lors de transformations complexes. Le projet couvre un large éventail de tâches de transformation, y compris l'aplatissement de hiérarchies d'objets imbriquées, la conversion de divers types de collections et de spans, ainsi qu'un mappage complet des énumérations entre chaînes et types primitifs. Il prend également en charge l'intégration de bases de données via la projection de requêtes, traduisant les définitions de mappage en arbres d'expressions pour optimiser la récupération des champs depuis des sources requêtables. Les options de configuration permettent des fabriques d'objets personnalisées, des exclusions au niveau des membres et l'intégration d'une logique de mappage définie par l'utilisateur. Le code source généré peut être exporté vers un répertoire configurable pour inspection manuelle et contrôle de version.
Uses C# source generators to produce mapping code during compilation, eliminating runtime reflection.
This project provides a comprehensive architectural framework and set of standardized patterns for building, securing, and scaling production-ready Node.js applications. It serves as a foundational guide for establishing consistent development workflows, operational observability, and reliable service integration across distributed software systems. The framework distinguishes itself by emphasizing a schema-first approach to API development, ensuring that interface definitions drive the creation of server stubs, client libraries, and type definitions. It promotes a cloud-native posture by int
Prioritizes interface definitions as the source of truth to drive the generation of stubs, clients, and types.