Self Note: Use standardized commit types for clarity and consistency.
Refer to the table below when writing commit messages.
| Type | Description | Example |
|---|---|---|
| feat | Introduces a new feature or capability | feat: add user authentication module |
| fix | Resolves a bug or defect in the code | fix: correct typo in login error message |
| chore | Routine tasks that don’t affect src or test files (e.g., dependency updates) | chore: update npm dependencies |
| refactor | Improves code structure without changing its behavior or adding features | refactor: simplify input validation logic |
| docs | Updates or creates documentation (e.g., README, markdown files) | docs: add API usage examples to README.md |
| style | Formatting changes that don’t alter code functionality (spaces, semicolons) | style: format code with prettier |
| test | Adds or modifies tests to improve coverage or correctness | test: add unit tests for profile component |
| perf | Enhances performance or optimizes resource usage | perf: reduce image loading time |
| ci | Changes related to continuous integration or deployment | ci: add GitHub Actions workflow |
| build | Alters build processes or external dependencies | build: update webpack config for prod |
| revert | Undoes a previous commit | revert: remove experimental feature |
Try to: Use clear and concise language to describe the purpose of each commit. Example format:
<type>: <short description>followed by a long must documentation in next steps
Use the BREAKING CHANGE: footer to describe breaking changes after the main message.
chore: drop support for Node 6
BREAKING CHANGE: use JavaScript features not available in Node 6.
feat: remove deprecated login endpoint
BREAKING CHANGE: The /api/login endpoint has been removed. Use /api/authenticate instead.