mcpField
S
ShareX Workflow and Versioning

ShareX Workflow and Versioning

github.com/sharex开发34261 次安装今天更新
代码仓库

关于 ShareX Workflow and Versioning

ShareX Workflow and Versioning 是为 XerahS 贡献者制定的仓库技能,规范 Git、提交和版本管理。内容包括版本依据、版本递增、提交前检查以及提交和推送流程。

主要功能

  1. 01版本依据与标签检查
  2. 02语义化版本递增规则
  3. 03提交前构建检查
  4. 04提交消息规范
  5. 05Git 钩子和推送流程

适用场景

  1. 01准备带版本号的 XerahS 提交
  2. 02递增应用版本
  3. 03提交并推送仓库更改

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sharex/xerahs --skill sharex-workflow-and-versioning

安装后在 Claude Code 中输入/sharex-workflow-and-versioning确认已加载。

详细介绍

范围

本文件是涉及以下内容的 Git 和版本管理规则的唯一事实来源:

  • 提交和推送工作流
  • 提交消息格式
  • 版本升级行为
  • Directory.Build.props 更新

本文件取代已弃用的 docs/development/RELEASE_PROCESS.md。

版本唯一事实来源

  1. 将根目录的 Directory.Build.props 文件视为 XerahS 应用版本的工作版本唯一事实来源。
  2. 在进行任何带版本号的 XerahS 提交前,将根目录版本与现有最高的 XerahS Git 标签进行比较。
  3. 如果根目录版本未严格高于最新标签,先升级根目录版本,确保分支使用下一个未发布版本。
  4. 切勿在单独的 .csproj 文件中设置版本号。
  5. 升级版本时,更新仓库中每个有意记录 XerahS 应用版本的受跟踪 Directory.Build.props,使其值保持一致。
  6. 派生的发布元数据文件(例如 build/windows/chocolatey/xerahs.nuspec)必须在发布自动化期间与根目录版本同步。
  7. 带标签的发布也会生成并对 Chocolatey .nupkg 进行冒烟测试,因此 build/windows/chocolatey/ 下的发布元数据必须便于自动化处理。

版本升级策略

  1. Bug 修复:仅递增补丁版本(0.0.z 规则:保持主版本和次版本不变,递增 z)。
  2. 新功能:递增次版本并将补丁版本重置为 0。
  3. 重大变更:递增主版本并将次版本和补丁版本重置为 0。

必需的提交前检查

提交和推送前:

git pull --recurse-submodules
git submodule update --init --recursive
dotnet build src/desktop/XerahS.sln

仅当构建成功且错误数为 0 时才继续。

提交和推送流程

  1. 暂存更改:
git add .
  1. 使用以下命令提交:
git commit -m "[vX.Y.Z] [Type] concise description"
  1. 推送:
git push

提交消息规则

  1. XerahS 应用提交的前缀应使用根目录 Directory.Build.props 中的 <Version>,格式为 [vX.Y.Z];但仅在确认该版本严格高于现有最高 XerahS Git 标签后才能使用。
  2. 切勿使用低于或等于最新标签的版本前缀。如果最新标签已达到或高于根目录版本,先升级 Directory.Build.props,然后使用升级后的版本提交。
  3. 添加类型标记,例如 [Fix]、[Feature]、[Build]、[Docs]、[Refactor]。
  4. 描述应简洁具体。
  5. 仅涉及共享库的子模块提交(例如 ShareX.ImageEditor):省略 [vX.Y.Z];按照 AGENTS.md 使用 [Type] description 格式。

Git 钩子要求

  1. 保持 .githooks 启用(git config core.hooksPath .githooks)。
  2. 除非明确要求紧急使用,否则不要通过 --no-verify 绕过钩子。
  3. 如果钩子执行失败,请修复问题并重新提交。

文档和 Git

  1. 将 Markdown 文档更改与相关代码/配置更改一并提交。
  2. 如果生成的指令文档属于所请求的工作内容,不要将其留在未提交状态。

评论

支持 Markdown