MoonForge 是一个面向 MoonBit 项目与通用本地工程的声明式增量任务编排工具,定位于填补 MoonBit 生态中轻量构建工具与工程自动化基础设施的空白。项目采用 Moonforge.toml 作为配置入口,支持任务依赖描述、输入输出声明、变更检测、增量跳过、失败阻断和执行原因解释,适用于文档生成、代码生成、资源处理、本地 CI 复现等真实开发场景。相比一次性脚本或不可追踪的命令集合,
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
MoonForge
MoonForge is a MoonBit-native incremental task runner for small builds, code generation pipelines, document workflows, asset preparation, and reproducible local CI commands.
项目定位
MoonForge 面向 MoonBit 项目和通用本地工程,提供一个轻量、可解释、可扩展 的声明式任务编排工具。它重点解决四类常见问题:
这个方向对应 MoonBit OSC2026 官方推荐的工程基础设施与工具链赛道, 也适合继续扩展到代码生成、文档流水线、资源构建和本地 CI 复现。
当前能力
Moonforge.toml.moonforge/cache.jsonrun、list、graph、explain、clean、doctorCLI-j N快速开始
仓库内置了一个
Moonforge.toml示例,覆盖文档转换、资源复制和聚合伪任务等 典型场景。配置格式
顶层使用
tasks表。每个任务支持以下字段:cmd: 要执行的命令deps: 依赖任务名列表inputs: 输入文件或目录列表outputs: 输出文件列表phony: 是否为伪任务desc: 任务描述示例:
如果任务没有声明输出,MoonForge 会把它当作“等效伪任务”处理。
CLI
如果没有显式指定目标任务,MoonForge 会按
build、default、字母序第一个任务 的优先级选择默认入口。示例场景
fmt、check、test、构建步骤设计边界
native为主,因为命令执行依赖trkbt10/subprocess仓库与文档
output/pdf/MoonForge-OSC2026-Proposal.pdfdocs/design.mddocs/acceptance-checklist.md结项自检
仓库提供了结项检查脚本:
脚本会检查 README 文件形态、仓库材料完整性、提交数、一页 PDF、模块身份一致 性,以及在具备本地 C 编译器时补跑
moon test和 CLI 烟雾验证。