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.props updates
This supersedes the retired docs/development/RELEASE_PROCESS.md .
Version Source Of Truth
-
Treat the root Directory.Build.props file as the app version source of truth.
-
Never set version numbers in individual .csproj files.
-
When bumping version, update every tracked Directory.Build.props in 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.props first.
-
Tagged releases also generate and smoke-test the Chocolatey .nupkg , so release metadata under build/windows/chocolatey/ must stay automation-friendly.
Version Bump Policy
-
Bug fix: increment patch only (0.0.z rule: keep major/minor, increase z ).
-
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 .githooks active (git config core.hooksPath .githooks ).
-
Do not bypass hooks with --no-verify unless 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.