Frontmatter
| id | 3191 |
| title | NEO.MJS RFC: Introduce mandatory format for commit messages |
| state | Closed |
| labels | enhancementstale |
| assignees | [] |
| createdAt | Jun 24, 2022, 12:12 PM |
| updatedAt | Sep 13, 2024, 4:30 AM |
| githubUrl | https://github.com/neomjs/neo/issues/3191 |
| author | ThorstenSuckow |
| commentsCount | 6 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Sep 13, 2024, 4:30 AM |
NEO.MJS RFC: Introduce mandatory format for commit messages

Feel free to create a ticket out of the issue and assign it back to me for a PR.

Big strong fat +1 -- I've annoyed @tobiu with this before because I fully agree with the value it provides

well, i am open to the change. might slow me down a little bit while getting adjusted at first^^
in case we create a required format, i would also make a reference to a related ticket mandatory.

I'd probably leave the "refs" out of the mandatory requirements for a commit message, since changes tagged with "style" or general housekeeping would clutter the issuetracker with too many unnecessary tickets which would have to be opened before a commit can be executed, e.g. for a code format change I'd think this would rather be a tedious task.
@github-actions - 2024-08-30T02:28:10Z
This issue is stale because it has been open for 90 days with no activity.
- 2024-08-30T02:28:11Z @github-actions added the
stalelabel
@github-actions - 2024-09-13T02:30:23Z
This issue was closed because it has been inactive for 14 days since being marked as stale.
- 2024-09-13T02:30:24Z @github-actions closed this issue
NEO.MJS RFC: Project specific commit format
Introduction
This RFC proposes to introduce a commit message format into the project. A global format for commit messages helps in understanding commit history and describing changes more explicitly.
The current situation allows for any type of text without further checking on the format and syntactical validity of the message itself.
Proposal
The Conventional Commits specification is a widely known and accepted specification for structuring commit messages, effectively allowing to tag commits with a type, a scope and the commit's intend:
It dovetails with SemVer which the project already uses for identifying release versions of the software.
It also provides the benefits in helping with automatically generating CHANGELOGs
Changes that affect the current specification
None, since currently no specifications exist. However, on top of the current set of the tools used, a pre-commit hook would be recommended to check for the validity of the commit message:
https://github.com/conventional-changelog/commitlint
This can be easily integrated into the project using npm packages.