Skip to content

Conventional Commits

This project adheres to the Conventional Commits specification. Conventional Commits is a convention for writing commit messages that provide a set of rules for creating an explicit commit history, which makes it easier to write automated tools on top of.

Commit Message Format

Each commit message consists of a header, a body, and a footer. The header has a special format that includes a type, a scope, and a subject:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Types

feat: a commit of the type feat introduces a new feature.
  • feat: Add conventional commits documentation
  • feat: Remove deprecated APIs from tools
  • feat: Change the default configuration structure for tools
  • feat: Replace existing data storage method with a new one in tools
  • feat: Update API endpoints, causing backward incompatibility in tools
  • feat: Add support for multiple languages
  • feat: Implement dark mode for the user interface
  • feat: Introduce a new logging system in tools
fix: a commit of the type fix patches a bug.
  • fix: Correct issue causing unexpected crashes on startup
  • fix: Resolve memory leak in data processing module
  • fix: Fix typo in user-facing error messages
  • fix: Address race condition in multi-threaded operations
  • fix: Rectify incorrect data format in API responses
BREAKING CHANGE: a commit with a footer BREAKING CHANGE: or appends a ! after the type/scope, introduces a breaking API change.
  • BREAKING CHANGE: Update authentication mechanism, requiring all users to re-authenticate
  • BREAKING CHANGE: Modify API response format, affecting all clients
  • BREAKING CHANGE: Remove support for legacy browsers
build: changes that affect the build system or external dependencies.
  • build: Update build tools to the latest version
  • build: Configure webpack for code splitting
  • build: Add support for TypeScript compilation
chore: changes to the build process or auxiliary tools and libraries such as documentation generation.
  • chore: Clean up obsolete configuration files
  • chore: Synchronize project dependencies with the latest versions
  • chore: Organize and tidy up the project directory structure
  • chore: Refresh environment setup scripts
  • chore: Purge unused npm scripts from the project
ci: changes to our CI configuration files and scripts.
  • ci: Implement GitHub Actions for automated testing
  • ci: Set up Travis CI for continuous integration
  • ci: Add CircleCI configuration for build and test pipelines
  • ci: Configure Jenkins pipeline for continuous deployment
  • ci: Enable automated Docker image builds in CI pipeline
docs: documentation only changes.
  • docs: Add conventional commits documentation
  • docs: Add user guide for setting up the conventional commits tool
  • docs: Update API documentation with new endpoints
  • docs: Create FAQ section in the project documentation
  • docs: Document new features added to the conventional commits tool
  • docs: Revise contribution guidelines for the project
style: changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc).
  • style: Reformat code to adhere to the project's style guide
  • style: Apply consistent indentation across all files
  • style: Standardize comment style throughout the codebase
  • style: Fix eslint warnings and errors
  • style: Remove trailing whitespaces in the code
refactor: a code change that neither fixes a bug nor adds a feature.
  • refactor: Modularize monolithic codebase for better maintainability
  • refactor: Simplify complex function logic
  • refactor: Rename variables for better clarity
  • refactor: Update codebase to follow new coding standards
  • refactor: Restructure project files for improved organization
perf: a code change that improves performance.
  • perf: Optimize query performance in the database layer
  • perf: Reduce application startup time
  • perf: Enhance caching mechanism for better performance
  • perf: Improve rendering speed of the user interface
  • perf: Streamline data processing algorithms
test: adding missing tests or correcting existing tests.
  • test: Add unit tests for the new authentication feature
  • test: Implement integration tests for API endpoints
  • test: Write end-to-end tests for user login flow
  • test: Add mock tests for external API calls
  • test: Create regression tests for recently fixed bugs
revert: reverts a previous commit.
  • revert: Revert changes that caused unexpected behavior
  • revert: Roll back to the previous version of the data storage module
  • revert: Undo changes that introduced a breaking API change
  • revert: Revert commit that caused performance degradation
  • revert: Roll back to the last stable release

Keywords

  • MUST
  • MUST NOT
  • REQUIRED
  • SHALL
  • SHALL NOT
  • SHOULD
  • SHOULD NOT
  • RECOMMENDED
  • MAY
  • OPTIONAL

Appendix

Phrasing for Conventional Commits

Action Examples
Add Add new functionality for ...
Introduce Introduce a new feature in ...
Remove Remove deprecated functions from ...
Change Change default settings for ...
Implement Implement new caching strategy for ...
Replace Replace ... with a more efficient ...
Update Update dependencies to the latest version
Setup Setup continuous integration for ...
Correct Correct issue causing application crash
Resolve Resolve memory leak in ...
Fix Fix typo in ...
Address Address performance issue in ...
Rectify Rectify incorrect data format in ...
Create Create user guide for ...
Configure Configure environment variables for ...
Document Document new feature ...
Revise Revise contribution guidelines for ...
Enable Enable feature flag for ...
Clean up Clean up unused code in ...
Synchronize Synchronize project dependencies with the latest versions
Organize Organize project directory structure
Purge Purge unused dependencies from ...
Optimize Optimize database queries in ...
Reduce Reduce load times for ...
Enhance Enhance caching mechanism for better performance
Improve Improve the load speed of ...
Modularize Modularize components for better maintainability
Simplify Simplify logic in ...
Rename Rename variables for clarity
Restructure Restructure project files for better organization
Reformat Reformat codebase for better consistency
Apply Apply consistent indentation across the project
Standardize Standardize logging format in ...