What are Conventional Commits?

Mae Capozzi · February 6, 2021Conventional commits are a powerful specification that makes it possible to automate some of the more annoying parts of your versioning and publishing workflow.

If you've looked through any open-source repositories recently, you've likely seen commits that look like this:

github commits

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:

  1. Open a PR on a feature branch

  2. Get approvals on the PR

  3. Squash all commits and write a commit message that fits the Conventional Commits specification

  4. Merge PR to main branch

  5. Build kicks off, reads the commit message, and calls a versioning script

  6. New package version is set and build calls a publish script, which publishes a new release to the registry

  7. Build completes, and code is merged to the main branch

Continue Reading

aitypescriptdeveloper-tools

Tooling migrations don't have to take weeks anymore

I used to block out weeks for tooling migrations. Now I let Claude Code run in the background, check in when it's done, and pair with it to understand what changed.

Read Post
frontend platformsystems thinkingobservability

Frontend Technical Debt Is a Business Problem

Frontend technical debt doesn't just slow down developers. It undermines your entire business through user attrition, legal risks, and revenue loss. Here's how to spot and communicate these hidden costs.

Read Post
aideveloper-tools

AI-Assisted Dependency Review

How I used Conductor and Claude to streamline my team's Dependabot review workflow — and how a colleague turned it into a GitHub Action

Read Post