COMMIT_CONVENTION.md
This project follows Conventional Commits specification for automated changelog generation and semantic versioning.
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
| Type | Description | Version Bump |
|---|---|---|
feat | New feature | Minor |
fix | Bug fix | Patch |
perf | Performance improvement | Patch |
refactor | Code refactoring | Patch |
docs | Documentation changes | Patch |
style | Code style changes | Patch |
test | Adding or updating tests | Patch |
build | Build system changes | Patch |
ci | CI/CD changes | Patch |
chore | Maintenance tasks | No bump |
Add BREAKING CHANGE: in the footer or ! after type to indicate breaking changes:
feat!: remove deprecated API endpoints
BREAKING CHANGE: The old API endpoints have been removed. Use the new v2 endpoints instead.
feat: add GitHub auto-fill integration
feat(ui): implement dark mode toggle
feat!: migrate to Next.js 15 App Router
fix: resolve skill selection persistence issue
fix(mobile): correct responsive navigation layout
fix(a11y): improve keyboard navigation for forms
perf: optimize image loading with next/image
perf(build): reduce bundle size by 30%
docs: update installation instructions
docs(api): add TypeScript examples
docs(readme): fix broken demo links
refactor: convert components to TypeScript
refactor(store): migrate to Zustand state management
Use scopes to indicate the area of change:
ui - User interface componentsapi - API related changesbuild - Build systemci - Continuous integrationdocs - Documentationtest - Testinga11y - Accessibilityperf - Performancemobile - Mobile-specific changesInstall commitizen for interactive commit messages:
npm install -g commitizen cz-conventional-changelog
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
Use git cz instead of git commit:
git add .
git cz
Install "Conventional Commits" extension for VS Code to get commit message templates.
# Adding new feature
git commit -m "feat(ui): add accessibility menu with font size controls"
# Fixing bug
git commit -m "fix(mobile): resolve navigation menu overflow on small screens"
# Breaking change
git commit -m "feat!: migrate to Next.js 15 App Router
BREAKING CHANGE: Pages directory structure has changed.
See migration guide for updating custom pages."
# Performance improvement
git commit -m "perf(build): implement code splitting for 50% bundle reduction"
# Documentation update
git commit -m "docs(contributing): add TypeScript coding standards"