Commit Message Convention
This page defines commit message conventions used in this repository.
Commit Message Format
Please provide your project and ticket number in the commit message subject. For baseline commit style semantics, refer to Conventional Commits.
Use this structure:
<type>(<PROJECT>-<ticket>): <short summary>
Example:
fix(ZMSKVR-1347): handle unpublished relation filtering
Required Components
type: The type of change. Common values in this repository:
feat: new feature or capabilityfix: bug fixclean: refactoring/cleanup without behavior changedocs: documentation-only changechore: maintenance/dependency/build tooling changes
project: The project identifier. This should be:
ZMSfor the ZMS projectZMSKVRfor the ZMSKVR projectMPDZBSfor the MPDZBS projectMUXDBSfor the MUXDBS projectGHfor GitHub-only issue tracking
ticket number: Digits only, matching the project ticket/issue ID.
summary: A concise imperative statement describing the change intent.
Examples
feat(ZMS-123): add scope hint support for office mappingfix(ZMSKVR-123): prevent stale provider visibility cache readsclean(ZMS-123): simplify munich transformer duration merge logicchore(ZMSKVR-123): update vitepress dependenciesdocs(ZMS-123): document sadb visibility decision flow
Regular Expression
The subject line should match this pattern:
^(feat|fix|clean|chore|docs)\((ZMS|ZMSKVR|MPDZBS|MUXDBS|GH)-[0-9]+\): .+$
Additional Guidelines
- Keep the subject line focused on the "why"/intent, not a full changelog.
- Use a body when context is needed (for example migration notes, behavior tradeoffs, or rollout implications).
- Prefer one logical change per commit to keep review and cherry-picking clean.
- For documentation-only updates, use
docs(...)type.