glossary

Conventional Commits

A lightweight specification for commit message formatting that encodes change type, scope, and description in a structured, machine-readable way.

The Conventional Commits specification defines a standard commit message structure: a required type, an optional scope in parentheses, and a mandatory subject line, optionally followed by a blank line and a longer body. Common types include feat (new functionality), fix (bug corrections), docs (documentation only), refactor (code restructuring without behaviour change), test, chore, perf, style, and ci. The specification enables changelog generation tools to automatically categorise changes, and semantic versioning tools to determine the next version number from commit history. A feat commit implies a minor version bump; a fix implies a patch; and a commit with a BREAKING CHANGE footer implies a major bump. Teams adopting Conventional Commits benefit from a shared vocabulary for change intent, reviewable history, and automated release workflows. The specification is maintained at conventionalcommits.org and widely supported by tools such as semantic-release, release-please, and conventional-changelog.

feat(auth): add OAuth2 PKCE flow for public clients
fix(api): return 404 instead of 500 when user record is missing
refactor(cache): replace in-memory store with Redis adapter
docs(readme): add installation instructions for Linux
chore(deps): upgrade express from 4.18.2 to 4.19.2

git-agent generates fully-formed Conventional Commits messages automatically from your staged diff. It selects the appropriate type and scope, writes the subject line, and drafts a bullet-point body explaining what changed and a closing paragraph explaining why.

brew install gitagenthq/tap/git-agent
Is the Conventional Commits specification the same as Angular commit guidelines?
Conventional Commits is inspired by Angular's commit message conventions but is an independent, community-maintained specification. It generalises the Angular format for use in any project.
Do I need to use all the commit types?
No. The specification only mandates feat and fix. Other types (docs, chore, perf, etc.) are conventional but not required. Use the types that reflect your team's workflow.
Can I use Conventional Commits without automated tooling?
Yes. The specification is just a text format. You can follow it manually. Tooling like git-agent makes it faster and consistent, but the convention works without it.