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 官方推荐的“工程基础设施与工具链”“构建工具,类似 n2 / ninja”一致。
当前能力
Moonforge.toml.moonforge/cache.jsonrun、list、graph、explain、clean、doctorCLI-j N快速上手
仓库内置了一个示例
Moonforge.toml,覆盖了文档转换、资源复制和伪任务聚合三个常见场景。配置格式
顶层配置为单个
[tasks]表,每个任务支持:cmd: 执行命令deps: 依赖任务名列表inputs: 输入文件或目录列表outputs: 输出文件或目录列表phony: 是否为伪任务desc: 任务说明示例:
如果任务没有声明输出,则会被视为“等效伪任务”。
命令行
如果没有显式指定目标任务,MoonForge 会按
build、default、字母序第一个任务的优先级选择默认入口。示例场景
fmt、check、test、构建步骤当前边界
native为主,因为命令执行依赖trkbt10/subprocess仓库说明
output/pdf/MoonForge-OSC2026-Proposal.pdf复审自检
仓库内提供了一个自检脚本:
该脚本会检查 README 文件形态、提交数、一页 PDF 是否存在且页数正确,以及材料中是否存在明显乱码。