measure-sh / measure

Measure is an open source tool to monitor mobile apps.
https://measure.sh
Apache License 2.0
484 stars 25 forks source link

Add commit linting to follow conventional commit format #35

Closed detj closed 1 year ago

detj commented 1 year ago

Motivation

We use Conventional Commits for our commit hygiene.

Ensuring good commit message hygiene is not just a good to have kind of thing. It's essential for the project's long term tangible goals.

Having accurate, crisp, well formatted, well structured commit messages, allows us to:

  1. Automate changelog generation with high accuracy and effectiveness
  2. Automate release management
  3. Achieve great contribution experience

Goals

What we are setting out to achieve in this area.

  1. The project should inherently guide any inside our outside contributor to maintain exceptional commit hygiene
  2. The committing environment of the contributor should not get in the way in the pursuit of maintaining healthy commit history

Execution

FAQs

Do external contributors need to follow ConventionalCommits specification?

While external contributors are free to follow ConventionalCommits specification if they wish to, this may not be strictly necessary. It depends on the contribution process. If the project is setup in a way that direct commits to default/protected branch is not allowed and PRs are squashed-merged, then lead maintainers always get a chance to reformat commit messages according to the project's needs.

References

detj commented 1 year ago

Additional notes