26 dépôts
Utilities that generate IDE project files on demand to avoid storing large binaries in version control.
Distinct from Multi-Binary Projects: Focuses on on-demand generation of IDE binaries to optimize version control, distinct from static binary generators or multi-binary project structures.
Explore 26 awesome GitHub repositories matching development tools & productivity · Project File Generators. Refine with filters or upvote what's useful.
node-gyp is a build system wrapper and compilation tool designed to transform C and C++ source code into binary modules for the Node.js runtime. It functions as a native module compiler that orchestrates the process of converting native source code into binary bindings for high-performance execution. The project provides cross-platform compilation by managing different compilers and SDKs across Windows, macOS, and Linux. It translates a single project configuration into platform-specific build files, such as Makefiles or Visual Studio projects, to ensure consistent builds across different ope
Creates platform-specific configuration files, such as Makefiles, based on a central project definition.
XcodeGen is a command-line utility written in Swift that generates Xcode project files from structured specification files. It serves as a project generator and build configuration manager, allowing targets, schemes, and build settings to be defined in a human-readable format instead of through manual edits in the Xcode IDE. The tool optimizes version control by generating project binaries on demand, which removes the need to store large project files in repositories and eliminates associated merge conflicts. It further automates the development workflow by synchronizing project groups and fi
Generates Xcode project binaries on demand to prevent large project files from entering version control.
CMake est un générateur de système de build multiplateforme et un outil d'automatisation de build. Il est utilisé pour définir les exigences de build et les dépendances pour le code source C et C++, gérant le processus de compilation et de liaison sur différents systèmes d'exploitation. Le projet fonctionne en générant des fichiers de build et des scripts spécifiques à la plateforme à partir d'une configuration unique. Cela permet la standardisation de la manière dont les logiciels sont compilés et packagés pour les compilateurs et les outils de développement dans divers environnements. L'outil couvre la configuration de projets C++ et la compilation d'applications natives pour les systèmes de bureau et embarqués. Il fournit une automatisation de build multiplateforme pour garantir des résultats cohérents lors de la transformation du code source en fichiers binaires exécutables.
Translates high-level project descriptions into platform-specific build files like Makefiles or Visual Studio projects.
Duktape est un moteur JavaScript embarquable et un runtime de script portable conçu pour l'intégration dans des applications C et C++. Il fonctionne comme un runtime ECMAScript léger qui fournit un pont C-JavaScript pour échanger des données et invoquer des fonctions entre le code natif et un environnement d'exécution de script. Le moteur inclut un compilateur de bytecode ECMAScript qui permet la sérialisation et la mise en cache des fonctions compilées sur disque pour réduire le temps de démarrage de l'application. Il organise les dépendances de script en utilisant un chargeur de module conforme à CommonJS. Le runtime couvre une variété de capacités incluant la planification de coroutines coopératives pour l'exécution asynchrone et un système de garbage collection hybride qui combine le comptage de références avec la collection mark-and-sweep. Il fournit également un protocole de débogage via un proxy JSON et prend en charge des transports de débogage personnalisés pour le matériel restreint. Les configurations de build sont gérées via des paramètres pilotés par YAML pour générer des en-têtes C spécifiques à la plateforme.
Generates platform-specific C headers by applying manual overrides to a base configuration via YAML.
ts-morph est une bibliothèque de manipulation d'AST TypeScript et un wrapper de haut niveau pour l'API du compilateur TypeScript. Il fournit une interface programmatique pour analyser, modifier et générer du code source TypeScript, servant d'outil pour le refactoring de code automatisé et la génération de code source. La bibliothèque simplifie le processus de navigation et d'inspection des structures de projet en offrant une abstraction orientée objet sur l'API du compilateur sous-jacente. Elle permet la transformation programmatique de bases de code existantes pour automatiser les mises à jour structurelles et les migrations de code en masse. Ses capacités couvrent l'analyse de code statique, la navigation dans les éléments de code et la gestion des fichiers source via l'importation, la génération et la suppression. Le projet intègre la vérification de type et utilise la découverte de fichiers basée sur des globs pour maintenir une représentation en mémoire de la base de code, qui peut ensuite être persistée sur le système de fichiers physique.
Creates new TypeScript files within a project to build code structures through a programmatic interface.
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 configuration files in .h, .json, and .yaml formats for use by external build systems.
Ce projet est un framework complet pour la programmation lettrée qui permet aux développeurs de construire des bibliothèques Python prêtes pour la production entièrement au sein de Jupyter Notebooks. En traitant les notebooks comme la source de vérité principale, il intègre le code, la documentation et les tests dans un pipeline de développement unifié qui s'exporte directement vers des modules Python standard. Le framework se distingue par des outils spécialisés conçus pour surmonter les défis inhérents à l'utilisation de notebooks dans l'ingénierie logicielle professionnelle. Il inclut des hooks Git personnalisés et des pilotes de fusion qui assainissent les métadonnées volatiles des notebooks, éliminant efficacement les diffs bruyants et résolvant les conflits de fusion. De plus, il utilise des directives basées sur les cellules pour contrôler la visibilité du code, les tests et la génération de documentation, permettant aux développeurs de maintenir un code source propre et modulaire tout en travaillant dans un environnement interactif. Au-delà de son flux de travail de développement principal, le projet fournit une suite robuste d'outils d'automatisation pour l'ensemble du cycle de vie logiciel. Cela inclut un moteur de site statique pour rendre une documentation de qualité publication avec prise en charge des équations mathématiques et du référencement croisé des symboles, ainsi que des utilitaires pour gérer les dépendances du projet, le versionnage et les tests automatisés. Il prend également en charge les flux de travail d'intégration continue pour déployer la documentation et publier des paquets vers des registres standard. Le projet fournit un processus d'amorçage standardisé pour initialiser de nouveaux dépôts avec des pipelines pré-configurés pour les tests, la documentation et le contrôle de version.
Generates dependency requirements files automatically from project configuration.
Arduino CLI est une interface en ligne de commande pour compiler, téléverser et gérer les bibliothèques et les cœurs de cartes pour le matériel compatible Arduino. Il fonctionne comme un gestionnaire de chaîne d'outils pour microcontrôleurs et un outil de programmation matérielle, fournissant des utilitaires pour découvrir et installer les définitions de plateformes et les compilateurs requis pour diverses architectures matérielles. Le projet comprend un démon de développement compatible RPC qui permet aux programmes externes de déclencher des opérations internes et de gérer les flux de travail électroniques automatisés par programmation. Il inclut également un débogueur matériel interactif pour le dépannage en temps réel du code s'exécutant sur des appareils physiques. L'outil couvre la gestion des cartes et des bibliothèques, y compris l'analyse des dépendances, la synchronisation des index et l'intégration de dépôts tiers. Ses capacités de construction et de déploiement englobent la compilation du code source, le téléversement de binaires et l'installation de bootloaders, soutenues par la surveillance de la sortie série et la détection du matériel connecté. L'utilitaire fournit la génération de complétion pour le shell et gère les paramètres d'environnement via un système de configuration basé sur des fichiers.
Generates a project folder and boilerplate source file to start developing hardware code.
Style Dictionary est un générateur de styles multiplateforme et un système de build pour jetons de design (design tokens). Il convertit une source unique de variables de design en plusieurs formats de sortie et fichiers spécifiques à la plateforme pour maintenir une source de vérité cohérente à travers différentes interfaces. Le système fonctionne comme un orchestrateur de styles multi-format qui fusionne des sources de jetons modulaires et les transforme en fonction des exigences de la plateforme cible. Il utilise une interface de transformation scriptable pour modifier les valeurs et les noms des jetons, permettant l'automatisation des styles de design system pour les applications web, iOS et Android. Le processus de build est piloté par la configuration, utilisant un objet central pour mapper les ensembles de jetons aux règles de transformation et de sortie. Il emploie un mappage de représentation intermédiaire pour garder les jetons sources agnostiques de la plateforme cible finale, tout en utilisant des adaptateurs de format enfichables pour définir comment les jetons traités sont écrits vers des destinations spécifiques.
Generates platform-specific styled output files in various formats based on a central configuration.
Remacs est une réécriture de l'éditeur de texte Emacs implémentée en Rust. C'est un éditeur de texte programmable et extensible conçu pour une meilleure sécurité mémoire et une meilleure performance d'exécution. Le projet inclut une interface native qui mappe les fonctions et structures de la bibliothèque C vers Rust pour exécuter une logique native. Il utilise des API système natives pour le rendu d'interface graphique multiplateforme. L'éditeur fournit une édition de texte en temps réel et prend en charge le développement de méthodes d'entrée et de dictionnaires de langue personnalisés. Le processus de développement utilise un environnement conteneurisé pour assurer des dépendances de build et des toolchains cohérentes.
Generates the configuration files required to build container images for a consistent development environment.
c2rust is a source-to-source translation suite and C-to-Rust transpiler designed to convert C source code and libraries into functionally equivalent unsafe Rust code. It operates as a pipeline that preserves original behavior and data structures, producing translated code that compiles as compatible shared libraries or Rust crates. The system includes an automated Rust refactoring framework that uses pattern-based AST rewriting to transform unsafe Rust into safe, idiomatic constructs. It utilizes an ownership inference engine to determine when raw pointers can be converted into safe reference
Creates project configuration files for translated code to compile as a library or binary.
Ce projet est une extension IDE pour la plateforme IntelliJ qui fournit un support linguistique pour Go. Il intègre les outils de développement Go dans les IDE JetBrains pour faciliter l'écriture, l'organisation et l'analyse du code source. Le plugin permet la transformation du code source Go en binaires exécutables en gérant les processus de build et en exécutant le compilateur standard. Il inclut également des utilitaires pour configurer le kit de développement logiciel (SDK) Go et générer des fichiers d'application et de bibliothèque initiaux pour amorcer les structures de projet. La boîte à outils fournit une analyse de code statique via la coloration syntaxique et un moteur de complétion conscient des types pour des suggestions de symboles automatisées. Il aide davantage à la navigation en indexant les symboles du projet, permettant aux utilisateurs de sauter entre les définitions de types et les déclarations à travers les fichiers du projet et la bibliothèque standard.
Generates initial application files and library structures to bootstrap new Go projects.
Ce projet est un cours de programmation fonctionnelle et un curriculum de codage automatisé conçu pour enseigner les principes fondamentaux du paradigme à travers une séquence structurée d'exercices et de modules. Il sert de tutoriel de programmation interactif où les apprenants résolvent des problèmes incrémentaux et valident leur compréhension via une suite d'exercices de programmation. Le curriculum est agnostique au langage, se concentrant sur la logique et les paradigmes fondamentaux plutôt que sur un langage spécifique. Il emploie une chaîne d'outils automatisée qui transforme le code source en binaires exécutables pour vérifier les solutions. La correction est validée en utilisant une approche pilotée par les tests qui combine un exécuteur de tests intégré avec des tests basés sur les propriétés pour garantir que les implémentations répondent à des exigences fonctionnelles spécifiques. Le projet inclut des scripts pour l'initialisation de l'environnement de développement afin de générer automatiquement les fichiers de configuration de build.
Automatically generates build configuration files to streamline the local development environment setup.
CodeceptJS is a Node.js end-to-end testing framework used for writing acceptance and functional tests for web and mobile applications. It functions as an automated browser testing suite and cross-browser automation engine that allows users to simulate end-user interactions and verify page content using a JavaScript-based domain-specific language. The framework implements a behavior-driven development approach, enabling the creation of scenario-driven tests that describe application behavior in a human-readable format. It utilizes the page object model to encapsulate UI elements and logic into
Includes a command-line tool to scaffold project configurations and initial test file structures.
crun est un runtime de conteneur bas niveau qui implémente la spécification Open Container Initiative pour gérer le cycle de vie des processus isolés. Il fournit les mécanismes fondamentaux pour la création, l'exécution et la suppression de conteneurs, assurant la compatibilité entre les plateformes grâce à une gestion standardisée du cycle de vie. Le projet se distingue en offrant une bibliothèque C partagée qui permet d'intégrer les opérations de runtime de conteneur directement dans d'autres applications compilées. Il étend davantage les capacités d'exécution via des gestionnaires spécialisés qui permettent le déploiement de conteneurs au sein de microVMs isolées ou l'exécution de charges de travail WebAssembly. Le runtime couvre un large éventail de capacités d'isolation bas niveau et de gestion des ressources. Cela inclut l'utilisation d'espaces de noms (namespaces) et de filtres seccomp pour la sécurité, de cgroups pour l'application des limites CPU et mémoire, et des outils pour sauvegarder et reprendre les états d'exécution des conteneurs via checkpoint et restore. Il fournit également des interfaces pour les mises à jour dynamiques des ressources, la gestion des montages et l'automatisation via une interface Lua intégrée.
Provides tools to produce the definition files required to configure a container environment.
Yo est un framework CLI Node.js et un orchestrateur de templates de projet utilisé pour automatiser la création de projets logiciels standardisés. Il fonctionne comme un générateur de projet interactif et un exécuteur de scaffolding qui produit du code source personnalisé et des manifestes basés sur l'entrée utilisateur et des templates prédéfinis. Le système utilise une architecture basée sur des plugins pour découvrir et exécuter des outils de configuration externes. Il se distingue par un système de fichiers orienté mémoire qui résout les conflits avant de valider les changements sur le disque et un modèle d'orchestration de tâches par file d'attente prioritaire pour assurer l'ordre d'exécution correct des configurations complexes. Le framework couvre un large éventail de capacités d'automatisation, incluant l'invite utilisateur interactive, la génération de fichiers basée sur des templates et la modification programmatique de manifestes de paquets. Il fournit également des utilitaires pour l'automatisation de l'installation des dépendances, la gestion du cycle de vie des générateurs et des frameworks de test pour vérifier les structures de fichiers de sortie.
Automates the generation of repetitive base code and configuration manifests to accelerate project startup.
RubyGems is a package manager for the Ruby language, serving as a tool for packaging, distributing, and installing libraries and software extensions. It functions as a dependency resolver and registry client, managing the installation of required libraries and their recursive dependencies to ensure consistent environments across development and production. The system handles the complete package lifecycle, including the building of distributable archives, the compilation of native C extensions for high-performance system integration, and the publishing of stable or prerelease versions to regi
Generates standard project folder structures and initial boilerplate source files for new libraries.
This project is a creative software framework and procedural graphics toolset designed for building custom graphics, sound, and user interface software. It functions as a development environment that provides integrated project and dependency management for creating technical multimedia productions. The system serves as a historical source archive, preserving the code and assets used in technical creative productions from 2001 to 2011. It includes a media production bundler to package source code and assets into single executable distributions for end users. The framework covers a broad rang
Generates development environment files and project structures based on configuration text.
Initializr is a project bootstrapper for JVM-based applications, specifically designed to generate initial directory layouts and configuration files for Spring Framework projects. It functions as a metadata service and generator that produces project skeletons with pre-configured dependencies, build systems, and language settings. The system can be deployed as a self-hosted project scaffolder, allowing organizations to apply proprietary project conventions and metadata to generated codebases. It exposes available dependencies and platform versions through a web-based API, enabling third-party
Automates the creation of standard project folder structures and initial boilerplate source files.
light-4j is a Java microservices framework designed for building scalable distributed systems. It provides a toolkit for developing cloud-native services with integrated support for service discovery, telemetry, and secure inter-service communication. The project includes a runtime OpenAPI request validator to ensure communication consistency by checking data against formal specifications. It also features an OAuth2 API security gateway for verifying identity tokens and managing credentials, alongside an event-sourcing messaging system for building command query responsibility segregation arc
Creates working project structures using a command-line utility, container image, or web interface.