Establish a commit message convention
Useful changelogs start with useful commit messages. The Conventional Commits specification is the industry standard. Every commit message follows a predictable format that tools can parse automatically.
# Conventional Commits format:
# <type>[optional scope]: <description>
# Types:
# feat — new feature (bumps MINOR version)
# fix — bug fix (bumps PATCH version)
# docs — documentation only
# style — formatting, no logic change
# refactor — neither fix nor feature
# test — adding/updating tests
# chore — build process, deps, tooling
# perf — performance improvement
# ci — CI configuration
# Examples:
git commit -m "feat(auth): add OAuth2 login with GitHub"
git commit -m "fix(api): handle null response in user endpoint"
git commit -m "docs: update README with setup instructions"
git commit -m "feat!: redesign settings page (BREAKING CHANGE)"Add a git commit-msg hook or use a tool like `commitlint` to enforce Conventional Commits on your team. Consistent messages = automatic changelogs.

