跨语言单仓库的版本与发布工具

一个仓库,多种软件生态,一套版本与发布流程。

Semifold 把仓库中的软件包发现、变更记录、版本联动、变更日志和按依赖发布连接起来,让不同语言的软件包作为一个整体演进。

01 / ONE REPOSITORY

把整座仓库当作一个产品系统

每种软件生态保留自己的清单格式和发布规则,Semifold 负责处理它们之间的关系。

01

发现整座仓库的软件包

把 Cargo、npm、Python、C++ 和插件定义的软件包组织成一张包含依赖关系的工作区图。

02

让相关软件包一起演进

只记录一次变更,Semifold 会一致地更新受影响的版本、内部依赖约束和变更日志。

03

按照依赖关系发布

为每种生态使用正确的命令和软件包仓库检查,同时保留一条可以恢复的发布流程。

02 / ECOSYSTEMS & PLUGINS

常见生态直接使用,其他生态通过插件接入。

常见软件包格式由内置适配器维护;仓库内 JavaScript 插件则能在受限权限下接入自己的清单格式。

Rust logo

Rust

Node.js logo

Node.js

Python logo

Python

C++ logo

C++

</>

自定义生态插件

从 v0.3.0 开始

使用带类型的 SDK 定义软件包发现、信息读取和版本修改,并由能力受限的运行时执行。

了解插件系统

从你已经拥有的仓库开始,让 Semifold 帮你把版本与发布规则变成清楚、可执行的流程。

完成第一次发布