Appendix O: Commit Message Guidelines - ApertureViewer/Aperture-Opertations-Manual GitHub Wiki
5.1. Commit Types (Allowed List): The Title must start with one of these exact words followed by a colon (:
):
Refactor
(Code restructuring without changing external behavior)Feature
(New, user-visible functionality)Enhance
(Improvement or extension of existing functionality)Fixes
(Bug fixes)Docs
(Documentation updates)Build
(Changes to build system, scripts, packaging)Chore
(Maintenance, cleanup, non-code tasks like updating .gitignore)Perf
(Performance improvements)Style
(Code style changes only, no functional change)Test
(Adding or correcting tests)
5.2. Format:
-
Title:
Type: Concise and accurate summary (max ~72 chars)
- Example:
Fixes: Correct default local light count in featuretable
- Example:
-
(Blank Line)
-
Body:
- Provide a detailed description of what changed and, crucially, why the change was made.
- Explain the problem being solved or the feature being added.
- Reference issue tracker IDs if applicable (e.g.,
This addresses feedback from Issue #7.
orPart of implementing feature outlined in #12.
). Use keywords likeFixes #7
,Closes #12
,Resolves #15
(often in the PR description if using PRs, or as the last line of the commit body) for auto-linking/closing. - Use bullet points for clarity if multiple distinct changes are included.
- Must be detailed and verbose. Explain the rationale.
-
(Blank Line)
-
Testing:
- Describe how the changes should be tested. Be specific about steps.
- Mention the testing environment if relevant (e.g., "Tested on Windows 11 with NVIDIA RTX 4080").
- Include specific scenarios or edge cases to check.
- Must be detailed enough for someone else (or future you) to reproduce the tests.
-
(Blank Line, Optional)
-
Documentation: (Include this section only if applicable)
- Suggest specific updates needed for user documentation, wiki pages, or internal docs as a result of the change (especially for
Feature
or significantEnhance
commits). - Example:
Documentation: Update Phototools wiki page to include new XYZ control. Detail changes to Graphics Preset Level 9 defaults.
- Suggest specific updates needed for user documentation, wiki pages, or internal docs as a result of the change (especially for
5.3. Verbosity: Prefer verbose, detailed commit messages. The Body
and Testing
sections should provide sufficient context and instruction.