114 lines
3.7 KiB
Plaintext
114 lines
3.7 KiB
Plaintext
# Commit Message Template
|
|
|
|
This template is designed to help you create a well-structured and informative commit message following the Conventional Commits standard. Please fill in the placeholders below with relevant information about your changes.
|
|
|
|
## Commit Type
|
|
|
|
Choose one of the following commit types that best describes the nature of your changes:
|
|
|
|
* **feat**: A new feature
|
|
* **fix**: A bug fix
|
|
* **docs**: Documentation only changes
|
|
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
|
|
* **refactor**: A code change that neither adds a feature nor fixes a bug
|
|
* **perf**: A code change that improves performance
|
|
* **test**: Adding missing tests or correcting existing tests
|
|
* **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
|
|
* **ci**: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
|
|
* **chore**: Other changes that don't modify src or test files
|
|
* **revert**: Reverts a previous commit
|
|
|
|
**Placeholder:** `type(scope): description`
|
|
|
|
**Example:** `feat(auth): Implement user authentication`
|
|
|
|
## Scope (Optional)
|
|
|
|
The scope could be anything specifying the place of the commit change. For example `auth`, `user`, `profile`, etc.
|
|
|
|
* If the change affects more than one scope, you can omit the scope entirely.
|
|
* If the change is a global change, you can use `*` as the scope.
|
|
|
|
**Placeholder:** `(scope)`
|
|
|
|
**Example:** `(api)`
|
|
|
|
## Description
|
|
|
|
Write a concise and clear description of the changes made. Use the imperative, present tense: "change" not "changed" nor "changes".
|
|
|
|
**Placeholder:** `description`
|
|
|
|
**Example:** `Add support for JWT authentication`
|
|
|
|
## Body (Optional)
|
|
|
|
Provide a more detailed explanation of the changes made. This section is optional but highly recommended for complex changes. Use the imperative, present tense: "change" not "changed" nor "changes".
|
|
|
|
* Explain the motivation for the change.
|
|
* Describe the approach taken.
|
|
* Include any relevant context or background information.
|
|
|
|
**Placeholder:**
|
|
|
|
```
|
|
Longer explanation of the commit, if necessary.
|
|
|
|
- Explain the problem and why this commit solves it.
|
|
- Provide context about the changes.
|
|
- Add any relevant details.
|
|
```
|
|
|
|
**Example:**
|
|
|
|
```
|
|
This commit introduces JWT authentication to improve the security of the API.
|
|
|
|
The previous authentication mechanism was based on simple API keys, which were vulnerable to brute-force attacks. JWTs provide a more secure and scalable solution.
|
|
|
|
The following steps were taken:
|
|
|
|
- Added the `jsonwebtoken` library as a dependency.
|
|
- Implemented a new `authenticate` middleware function.
|
|
- Updated the API endpoints to use the new middleware.
|
|
```
|
|
|
|
## Footer(s) (Optional)
|
|
|
|
Footers can be used to add metadata to the commit message, such as:
|
|
|
|
* **BREAKING CHANGE**: If the commit introduces a breaking change, add a `BREAKING CHANGE:` footer with a description of the change.
|
|
* **Closes**: Referencing issue tracker ids.
|
|
|
|
**Placeholder:**
|
|
|
|
```
|
|
BREAKING CHANGE: Description of the breaking change.
|
|
|
|
Closes #123
|
|
Refs #456
|
|
```
|
|
|
|
**Example:**
|
|
|
|
```
|
|
BREAKING CHANGE: The API endpoint `/users` has been renamed to `/profiles`.
|
|
|
|
Closes #123
|
|
```
|
|
|
|
## Complete Example
|
|
|
|
```
|
|
feat(auth): Implement user authentication
|
|
|
|
This commit introduces JWT authentication to improve the security of the API.
|
|
|
|
The previous authentication mechanism was based on simple API keys, which were vulnerable to brute-force attacks. JWTs provide a more secure and scalable solution.
|
|
|
|
The following steps were taken:
|
|
|
|
- Added the `jsonwebtoken` library as a dependency.
|
|
- Implemented a new `authenticate` middleware function.
|
|
- Updated the API endpoints to use the new middleware.
|
|
``` |