February 06, 2021
component librariesdesign systemslernaIf you’ve looked through any open-source repositories recently, you’ve likely seen commits that look like this:
The commit messages are prefixed with a “tag” like fix
or feat
. This commit message specification is called Conventional Commits, and it’s a powerful way to write commit messages that are human and machine-readable.
Conventional commits are a powerful specification that makes it possible to automate some of the more annoying parts of your versioning and publishing workflow. For example, you can use conventional commits to auto-version new releases of your library.
Because conventional commits are machine-readable, plenty of open source tools leverage them. For example, lerna has a --conventional-commits
flag that checks your commit messages and recommends a semantic version for you.
I’d recommend this tool for library authors and maintainers who want to automate their versioning and publishing flow using tools like CI or Github Actions. A common workflow might look like this:
Whether you're new to design systems or a seasoned pro, this newsletter is for you.
Join over 50 developers learning about design systems now: