explaingit

khasky/awesome-commit-conventions

Analysis updated 2026-05-18

32Audience · developerComplexity · 1/5Setup · easy

TLDR

A cheat sheet explaining how to write Conventional Commits messages and version releases with Semantic Versioning.

Mindmap

mindmap
  root((repo))
    What it does
      Explains commit conventions
      Explains semantic versioning
    Tech stack
      Node.js
      commitlint
    Use cases
      Write clean commits
      Automate releases
    Audience
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Learn the correct format for writing a Conventional Commits style git commit message.

USE CASE 2

Understand how commit types map to Semantic Versioning bumps for automated releases.

USE CASE 3

Set up commitlint and semantic-release tooling in a Node.js project.

What is it built with?

Node.jsnpmcommitlint

How does it compare?

khasky/awesome-commit-conventions855princekumar/sense-hivea6216abcd/free-residential-ip-proxy-controller
Stars323232
LanguageHTMLJavaScript
Setup difficultyeasyeasyhard
Complexity1/52/54/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

In plain English

This repository is a cheat sheet, not a piece of software, explaining two related practices used by many programming teams: Conventional Commits, a standard way of writing git commit messages, and Semantic Versioning, a standard way of numbering software releases based on the kind of changes made. Its examples are built around the Node.js and JavaScript world, referencing tools like npm, commitlint, and semantic-release, but the underlying ideas apply to any programming language. The guide breaks a commit message down into a short required first line, an optional longer body explaining why a change was made, and an optional footer used for things like closing a linked issue or crediting a co-author. It explains that the official specification only requires two commit types, feat for a new feature and fix for a bug fix, while other common types such as docs, refactor, test, and chore come from a widely followed convention rather than the spec itself. It also shows how these types map onto version numbers: a new feature bumps the middle number, a bug fix bumps the last number, and a breaking change, marked with an exclamation point or a special footer, bumps the first number. Beyond the core rules, the guide covers commonly confused topics such as what counts as a chore versus a refactor, how to choose and stay consistent with commit scopes, a worked example of a realistic twenty commit project history, and a short section correcting popular misconceptions about what the specification does and does not actually require. It closes with setup instructions for commit linting and automated releases using common Node.js tooling, plus a compact one page summary card for quick reference. The whole document is meant to be read once and then used as an ongoing reference rather than a tutorial to work through step by step.

Copy-paste prompts

Prompt 1
Write a Conventional Commits message for a bug fix in the authentication module.
Prompt 2
Explain the difference between a chore commit and a refactor commit using this guide's rules.
Prompt 3
How do I set up commitlint and husky to enforce these commit conventions?

Frequently asked questions

What is awesome-commit-conventions?

A cheat sheet explaining how to write Conventional Commits messages and version releases with Semantic Versioning.

How hard is awesome-commit-conventions to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is awesome-commit-conventions for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.