快速开始

1. 安装 Semifold

从安装脚本安装

您可以使用 Semifold 的安装脚本安装:

Linux
Windows
curl -L https://semifold.noctisynth.org/install/install.sh | sh

请注意,安装脚本会默认将 Semifold 安装到 $HOME/.local/bin 目录下,这通常与一些应用的默认安装路径一致。安装脚本目前不会修改您的 shell 配置文件,您需要手动将 $HOME/.local/bin 添加到您的 $PATH 环境变量中。

从 crates.io 安装

如果您已经安装了 Rust 工具链,您可以从 crates.io 安装 Semifold:

cargo install semifold

从 Npm Registry 安装

如果您使用 Node.js 项目,您可以从 Npm Registry 安装 Semifold:

npm
yarn
pnpm
bun
npm install -g semifold

从 PyPI 安装

如果您使用 Python 项目,您可以从 PyPI 安装 Semifold:

/static/image/pip.31cd0b0b.pngpip
pipx
uv
pdm
pip install semifold

2. 初始化 Semifold 工作区

执行以下命令初始化 Semifold 工作区:

semifold init

按照提示选择工作区解析器,Semifold 会自动根据对应解析器生成工作区配置文件:

? 要使用哪些工作区解析器?  
> [ ] Rust
  [ ] Nodejs
  [ ] Python

3. 配置 Semifold 工作区

部分工作区解析器需要您手动配置,例如 Python 解析器。Python 的社区生态具有多种常用的包管理器,例如 pip、pipx、uv 和 pdm。您需要根据您的项目环境自行配置发布指令。

例如,如果使用 uv 作为包管理器,您需要在 .changes/config.toml 中配置发布指令:

.changes/config.toml
[[resolver.python.publish]]
command = "uv"
args = ["publish"]

4. 提交变更

执行以下命令提交变更:

semifold commit

5. 版本提升

执行以下命令提升版本:

semifold version

执行semifold version时请确保 Git 工作区是干净的,或使用--allow-dirty选项绕过 Git 工作区检查。

版本提升后,Semifold 会自动清理所有变更集文件,同时更新工作区对应项目中的版本号,将基于变更集生成的变更日志插入变更日志文件。

6. 发布变更

本地发布

执行以下命令发布变更:

semifold publish

Github Actions

Semifold 封装了 Github Actions 工作流,执行以下命令发布变更:

semifold ci

如果你在执行semifold init时选择了包含 GitHub Actions 工作流,Semifold 会自动生成两个工作流文件:

  • .github/workflows/semifold-ci.yaml,检查每一个提交下的 Semifold 工作区变更集状态,如果存在变更集则生成或更新已有的发布分支并自动提交 Pull Request;如果不存在变更集,则检查并发布工作区所有未发布的包。
  • .github/workflows/semifold-status.yaml,检查 Pull Request 下的 Semifold 工作区变更集状态,并创建包含变更集状态的评论。