Explore how we can ensure high-quality commit messages
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 53
- Forks
- 63
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 15
Description
Summary
Explore how we can ensure that our commit messages are high-quality, i.e. are clear and contain all the necessary information, so that they can be added to the roadmap on the website without our team needing to make too many manual changes.
💬 Description
Every time we do a release of our components, an automated PR gets created to update the ICDS website and this includes an update to our roadmap (using the updateRoadmap.js script).
updateRoadmap.js takes the short description from the message of each new commit added in the latest release and adds it as a bullet point in the "Recently shipped" section of the roadmap.
The issue is that the short descriptions in these commit messages sometimes don't contain enough information (e.g. what component has been affected by the change, or it's just a bit unclear). Also, sometimes the commit type might not be correct, e.g. it could be chore when it should be fix, meaning it won't show up in the roadmap. This all means that whoever is doing the release has to go in and manually update the list of changes.
It would be good if we could somehow ensure that everyone writes their commit messages with all the necessary information, and in a way that's appropriate for the roadmap, so we can limit the amount of manual changes we need to make to the roadmap.
Suggestions:
- Add a new PR checklist item to ensure people check their commit messages
- Maybe some kind of AI check to capture any necessary changes to commit messages people may have missed?
- Add extra info to the Commitizen guidance that comes up when people do
git commit
🚨 Urgency (low, medium or high)
I feel like this is quite high - because it can slow down releases having to constantly manually make changes.
Why do we need it?
To speed up releases.
I think the roadmap may always need some manual changes (e.g. remove any references to changes that aren't relevant to customers) but it would be good to at least reduce the amount of effort required here a bit.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading updateRoadmap.js and the existing Commitizen guidance to understand how commit descriptions and types become roadmap entries. Review the suggested PR checklist and AI-check approaches, then define an agreed process that preserves necessary component and change information while reducing manual roadmap edits.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, javascript, typescript
- Domain
- developer-experience, release, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100