ShareX Workflow and Versioning
SKILL.md
Scope
This file is the single source of truth for Git and versioning rules that involve:
- Commit and push workflow
- Commit message format
- Version bump behavior
Directory.Build.propsupdates
This supersedes the retired docs/development/RELEASE_PROCESS.md.
Version Source Of Truth
- Treat the root
Directory.Build.propsfile as the app version source of truth. - Never set version numbers in individual
.csprojfiles. - When bumping version, update every tracked
Directory.Build.propsin the repository so values match. - Derived release metadata files, such as
build/windows/chocolatey/xerahs.nuspec, must be synchronized from the root version during release automation. - Read current version from the root
Directory.Build.propsfirst. - Tagged releases also generate and smoke-test the Chocolatey
.nupkg, so release metadata underbuild/windows/chocolatey/must stay automation-friendly.
Version Bump Policy
- Bug fix: increment patch only (
0.0.zrule: keep major/minor, increasez). - New feature: increment minor and reset patch.
- Breaking change: increment major and reset minor/patch.
Required Pre-Commit Checks
Before committing and pushing:
git pull --recurse-submodules
git submodule update --init --recursive
dotnet build src/desktop/XerahS.sln
Only continue when build succeeds with 0 errors.
Commit And Push Procedure
- Stage changes:
git add .
- Commit using:
git commit -m "[vX.Y.Z] [Type] concise description"
- Push:
git push
Commit Message Rules
- Prefix every commit with the new version:
[vX.Y.Z]. - Include a type token such as
[Fix],[Feature],[Build],[Docs],[Refactor]. - Keep the description concise and specific.
Git Hook Expectations
- Keep
.githooksactive (git config core.hooksPath .githooks). - Do not bypass hooks with
--no-verifyunless explicitly requested for emergency use. - If hooks fail, fix issues and recommit.
Documentation And Git
- Commit Markdown documentation changes with related code/config changes.
- Do not leave generated instruction docs uncommitted when they are part of the requested work.