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
  • (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. or Part of implementing feature outlined in #12.). Use keywords like Fixes #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 significant Enhance commits).
    • Example: Documentation: Update Phototools wiki page to include new XYZ control. Detail changes to Graphics Preset Level 9 defaults.

5.3. Verbosity: Prefer verbose, detailed commit messages. The Body and Testing sections should provide sufficient context and instruction.