This document outlines the conventional commit message format for the React / Spring Boot project with the following directory structure: /client
and /server
.
The commit messages in this project should follow the Conventional Commit format. The format consists of a header, an optional body, and an optional footer, all separated by a blank line.
The header has the following structure:
<type>(<scope>): <subject>
- type: The type of the commit, indicating the nature of the changes. It should be one of the following:
feat
: A new featurefix
: A bug fixchore
: Routine tasks, maintenance, or other non-functional changesdocs
: Documentation changesstyle
: Code style changes (e.g., formatting)refactor
: Code changes that neither fix a bug nor add a featuretest
: Adding or modifying tests
- scope: The scope of the commit, indicating the affected component, module, or section of the project. It should be one of the following:
client
: Changes related to the React client applicationserver
: Changes related to the Spring Boot server application
- subject: A concise description of the change.
The body provides additional information about the commit. It should provide context, motivation, and any other relevant details. Each line should be no more than 72 characters.
The footer is optional and can contain any additional information related to the commit, such as references to issues or pull requests.
Here are a few examples of commit messages using the Conventional Commit format:
feat(client): Add user registration functionality
• Implemented user registration form and validation
• Added corresponding API endpoint in the server
Closes #123
fix(server): Fix null pointer exception in user authentication
• Updated authentication logic to handle null values
• Added unit tests to cover the fix
Fixes #456
chore(client): Update dependencies
• Updated React to version 17.0.2
• Updated axios to version 0.21.1
• Ran code formatter to ensure consistent styling
Following the Conventional Commit format ensures a standardized and descriptive commit history, making it easier to understand the project's changes and collaborate effectively.