26 个仓库
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 是一个跨平台构建系统生成器和构建自动化工具。它用于定义 C 和 C++ 源代码的构建需求和依赖关系,管理跨不同操作系统的编译和链接过程。 该项目通过从单一配置生成特定平台的构建文件和脚本来工作。这使得软件在不同环境下的编译器和开发工具中的编译和打包方式得以标准化。 该工具涵盖 C++ 项目配置以及桌面和嵌入式系统的原生应用编译。它提供跨平台构建自动化,以确保将源代码转换为可执行二进制文件时结果的一致性。
Translates high-level project descriptions into platform-specific build files like Makefiles or Visual Studio projects.
Duktape 是一个可嵌入的 JavaScript 引擎和便携式脚本运行时,专为集成到 C 和 C++ 应用程序中而设计。它作为一个轻量级的 ECMAScript 运行时,提供了一个 C-JavaScript 桥接器,用于在原生代码和脚本执行环境之间交换数据和调用函数。 该引擎包含一个 ECMAScript 字节码编译器,允许将编译后的函数序列化并缓存到磁盘,以减少应用程序启动时间。它使用符合 CommonJS 标准的模块加载器来组织脚本依赖项。 该运行时涵盖了多种功能,包括用于异步执行的协作式协程调度,以及结合了引用计数与标记清除收集的混合垃圾回收系统。它还通过 JSON 代理提供调试协议,并支持针对受限硬件的自定义调试传输。 构建配置通过 YAML 驱动的设置进行管理,以生成特定于平台的 C 头文件。
Generates platform-specific C headers by applying manual overrides to a base configuration via YAML.
ts-morph is a TypeScript AST manipulation library and a high-level wrapper for the TypeScript compiler API. It provides a programmatic interface for analyzing, modifying, and generating TypeScript source code, serving as a tool for automated code refactoring and source code generation. The library simplifies the process of navigating and inspecting project structures by offering an object-oriented abstraction over the underlying compiler API. It allows for the programmatic transformation of existing codebases to automate structural updates and bulk code migrations. Its capabilities cover sta
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.
该项目是一个全面的文学编程(literate programming)框架,使开发者能够完全在 Jupyter Notebooks 中构建生产就绪的 Python 库。通过将 Notebooks 视为单一事实来源,它将代码、文档和测试集成到一个统一的开发流水线中,并直接导出到标准 Python 模块。 该框架通过专门设计的工具脱颖而出,旨在克服在专业软件工程中使用 Notebooks 的固有挑战。它包括自定义 Git 钩子和合并驱动程序,用于清理易变的 Notebook 元数据,有效消除嘈杂的差异并解决合并冲突。此外,它利用基于单元格的指令来控制代码可见性、测试和文档生成,允许开发者在交互式环境中工作时保持干净、模块化的源代码。 除了核心开发工作流外,该项目还为整个软件生命周期提供了一套强大的自动化工具。这包括一个用于渲染出版级文档的静态站点引擎(支持数学公式和符号交叉引用),以及用于管理项目依赖项、版本控制和自动化测试的工具。它还支持用于部署文档和将包发布到标准注册表的持续集成工作流。 该项目提供了一个标准化的引导过程,用于初始化具有预配置测试、文档和版本控制流水线的新仓库。
Generates dependency requirements files automatically from project configuration.
Arduino CLI 是一个命令行界面,用于编译、上传和管理 Arduino 兼容硬件的库和板核心。它充当微控制器工具链管理器和硬件编程工具,提供发现和安装各种硬件架构所需的平台定义和编译器的实用程序。 该项目具有支持 RPC 的开发守护进程,允许外部程序触发内部工具操作并以编程方式管理自动化电子工作流。它还包含一个交互式硬件调试器,用于实时排查物理设备上运行的代码。 该工具涵盖了板和库管理,包括依赖分析、索引同步以及第三方仓库的集成。其构建和部署功能包括源代码编译、二进制上传和引导加载程序安装,并支持串口输出监控和连接硬件检测。 该工具提供 shell 自动补全生成功能,并通过基于文件的配置系统管理环境设置。
Generates a project folder and boilerplate source file to start developing hardware code.
Style Dictionary 是一个跨平台的样式生成器和设计令牌(design token)构建系统。它将单一来源的设计变量转换为多种输出格式和特定平台的代码文件,以在不同界面间保持单一事实来源。 该系统作为一个多格式样式编排器,合并模块化令牌源并根据目标平台要求对其进行转换。它使用可脚本化的转换接口来修改令牌值和名称,从而实现 Web、iOS 和 Android 应用设计系统样式的自动化。 构建过程由配置驱动,利用一个中心对象将令牌集映射到转换和输出规则。它采用中间表示映射来保持源令牌与最终目标平台的无关性,同时使用可插拔的格式适配器来定义处理后的令牌如何写入特定目标。
Generates platform-specific styled output files in various formats based on a central configuration.
Remacs 是用 Rust 实现的 Emacs 文本编辑器重写版。它是一个可编程且可扩展的文本编辑器,旨在提高内存安全性和执行性能。 该项目包含一个原生接口,将 C 库函数和结构映射到 Rust 以执行原生逻辑。它使用原生系统 API 进行跨平台图形界面渲染。 该编辑器提供实时文本编辑,并支持开发自定义输入法和语言词典。开发过程利用容器化环境来确保构建依赖项和工具链的一致性。
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.
该项目是一个 IntelliJ 平台 IDE 扩展,为 Go 语言提供语言支持。它将 Go 开发工具集成到 JetBrains IDE 中,以促进源代码的编写、组织和分析。 该插件通过管理构建过程和执行标准编译器,支持将 Go 源代码转换为可执行二进制文件。它还包括用于配置 Go 软件开发工具包 (SDK) 以及生成初始应用程序和库文件以引导项目结构的实用程序。 该工具集通过语法高亮和用于自动符号建议的类型感知补全引擎提供静态代码分析。它还通过索引项目符号来辅助导航,允许用户在项目文件和标准库之间跳转类型定义和声明。
Generates initial application files and library structures to bootstrap new Go projects.
该项目是一个函数式编程课程和自动化编码课程,旨在通过一系列结构化的练习和模块来教授该范式的核心原则。它作为一个交互式编程教程,学习者通过解决增量问题并通过编程练习套件验证其理解。 该课程与语言无关,专注于核心逻辑和范式,而非特定语言。它采用自动化工具链,将源代码转换为可执行二进制文件以验证解决方案。 正确性通过测试驱动的方法进行验证,该方法结合了内置测试运行器和基于属性的测试,以确保实现满足特定的功能要求。该项目包含用于开发者环境引导的脚本,以自动生成构建配置文件。
Automatically generates build configuration files to streamline the local development environment setup.
CodeceptJS 是一个 Node.js 端到端测试框架,用于编写 Web 和移动应用程序的验收和功能测试。它作为一个自动化浏览器测试套件和跨浏览器自动化引擎,允许用户模拟最终用户交互,并使用基于 JavaScript 的领域特定语言验证页面内容。 该框架实现了行为驱动开发(BDD)方法,能够创建以人类可读格式描述应用程序行为的场景驱动测试。它利用页面对象模型(Page Object Model)将 UI 元素和逻辑封装到可重用对象中,从而简化了测试维护。 该工具集涵盖了广泛的能力,包括跨不同浏览器和移动平台的端到端工作流模拟、并行测试执行和测试生命周期管理。它包括交互式 Shell 和用于测试修复的 AI 等调试工具,以及带有交互式仪表板和嵌入式工件的视觉报告。 提供了一个命令行界面,通过生成测试样板和类型定义来加速开发。
Includes a command-line tool to scaffold project configurations and initial test file structures.
crun 是一个低级容器运行时,实现了用于管理隔离进程生命周期的 Open Container Initiative 规范。它提供容器创建、执行和删除的核心机制,通过标准化的生命周期管理确保跨平台兼容性。 该项目通过提供一个共享 C 库脱颖而出,允许将容器运行时操作直接嵌入到其他编译后的应用程序中。它通过专门的处理程序进一步扩展了执行能力,支持在隔离的微型虚拟机(microVM)中部署容器或执行 WebAssembly 工作负载。 该运行时涵盖广泛的底层隔离和资源管理功能。这包括使用命名空间和 seccomp 过滤器进行安全防护,使用 cgroups 强制执行 CPU 和内存限制,以及通过检查点和恢复功能保存与恢复容器执行状态的工具。它还提供用于动态资源更新、挂载管理以及通过嵌入式 Lua 接口进行自动化的接口。
Provides tools to produce the definition files required to configure a container environment.
Yo 是一个 Node.js CLI 框架和项目模板编排器,用于自动化创建标准化软件项目。它作为交互式项目生成器和脚手架运行器运行,根据用户输入和预定义模板生成定制的源代码和清单。 该系统利用基于插件的架构来发现和执行外部设置工具。它通过在将更改提交到磁盘之前解决冲突的内存优先文件系统,以及确保复杂设置正确执行顺序的优先级队列任务编排模型而脱颖而出。 该框架涵盖了广泛的自动化功能,包括交互式用户提示、模板化文件生成和程序化包清单修改。它还提供用于依赖安装自动化、生成器生命周期管理以及验证输出文件结构的测试框架的工具。
Automates the generation of repetitive base code and configuration manifests to accelerate project startup.
RubyGems 是 Ruby 语言的包管理器,用作打包、分发和安装库及软件扩展的工具。它作为一个依赖解析器和注册表客户端,管理所需库及其递归依赖项的安装,以确保开发和生产环境的一致性。 该系统处理完整的包生命周期,包括构建可分发的归档文件、编译用于高性能系统集成的原生 C 扩展,以及向注册表发布稳定或预发布版本。它提供了一个安全框架,包括加密包签名、用于发布的多因素身份验证,以及用于协作包所有权和组织管理的基于角色的访问控制。 广泛的能力涵盖了通过项目特定目录进行环境隔离、通过清单文件进行版本锁定以保证可重现的构建,以及运行时加载路径操作。该工具集还包括注册表管理功能,如私有仓库托管、远程源镜像和 API 请求限流。 命令行界面提供了用于 API 密钥管理、已安装包检查以及库内置文档查看器的工具。
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.