-
Notifications
You must be signed in to change notification settings - Fork 0
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or request
Description
Description:
This issue proposes adopting the Conventional Commits specification for commit messages in this repository. Conventional Commits is a standardised format for writing commit messages that improves readability, consistency, and automation capabilities.
Benefits of adopting Conventional Commits:
- Improves Commit History: Commit messages become more structured and meaningful, making it easier to understand changes in the codebase at a glance.
- Enables Automation: Tools like semantic versioning, changelog generation, and release automation can leverage the structured format of Conventional Commits, especially important for releases of the spectral ruleset.
- Facilitates Collaboration: A consistent format helps team members quickly understand the purpose of each commit, fostering better collaboration.
- Enhances Debugging: By identifying the type and scope of changes (e.g.,
fix,feat,chore), it becomes easier to trace bugs and understand the evolution of features. - Standardisation Across Teams: Provides a clear, shared standard for writing commit messages, reducing ambiguity and discrepancies.
Proposed Steps:
- Update Contribution Guidelines: Add a section in the
CONTRIBUTING.mdfile explaining the Conventional Commits format and providing examples. - Integrate Validation Tools: Set up tools like
commitlintto enforce the commit message format during development. - Automate Spectral Ruleset releases: Update release workflows to determine next version based on Conventional Commits, including generation of release notes.
Example Commit Message Format:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Common types include:
feat: A new featurefix: A bug fixdocs: Documentation updatesstyle: Code style changes (formatting, missing semicolons, etc.)refactor: Code restructuring without changing external behaviourperf: A code change that improves performancetest: Adding or updating testschore: Maintenance tasks (build-related changes, dependency updates)
References:
Sub-issues
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or request