This version of Commit Types
is tailored for repositories focused on individual scripts or tools, each with its own unique lifecycle and versioning. This system acknowledges that each tool evolves independently, allowing for precise version control on a per-tool basis. This approach aims to significantly enhance clarity and facilitate a more intuitive understanding of each tool's development history by providing a structured framework for commit messages. It ultimately seeks to streamline project management and improve the usability of repositories that function as a comprehensive toolkit or an extensive library of scripts, ensuring that contributors and users alike can easily track progress and updates for individual tools.
Commit Type | Title | Description | Release | Include in changelog |
---|---|---|---|---|
tool |
New Tool Addition | Adding a new tool or script to the repository. This focuses on introducing a single new tool per commit. | major |
true |
update |
Tool Updates | Updates to a single existing tool, including minor enhancements and additions without fundamentally changing the tool's purpose. | patch |
true |
feat |
Feature Addition | Adds a completely new capability to the tool, introducing functionalities that enable new use cases or significantly expand the tool's purpose. Notable for end-user impact and interaction changes. | minor |
true |
func |
Functionality Extension | Enhances an existing feature by adding more options or extending capabilities to improve usability or flexibility, without fundamentally altering the tool's primary functions. Focuses on deepening existing features rather than adding new ones. | patch |
true |
fix |
Bug Fixes | Addressing issues in a specific tool or script that impair its intended functionality. | patch |
true |
docs |
Documentation | Documentation updates for a specific tool, including usage guides, installation instructions, and examples. | - | true |
style |
Style Adjustments | Non-functional changes such as formatting or commenting that don't alter what the code does for a specific tool. | - | false |
refactor |
Code Refactoring | Optimizing and cleaning up the code of a specific tool without changing its external behavior, aimed at improving readability or performance. | - | true |
perf |
Performance Improvements | Enhancements that improve the performance or efficiency of a single tool, focusing on optimizing its operation. | patch |
true |
security |
Security Enhancements | Updates aimed at improving security features or fixing vulnerabilities in a specific tool. | patch |
true |
test |
Testing Enhancements | Adding or improving tests for a specific tool to ensure its reliability and stability. | - | true |
build |
Build System Updates | Changes that affect the process of preparing scripts for distribution or execution. This includes automation scripts for packaging, dependency management updates, and any modifications to scripts that facilitate development processes. Not typically used for languages without a build step, like C#. | patch |
true |
ci |
Continuous Integration Changes | Modifications to CI/CD pipelines to improve the integration and deployment processes for a specific tool. | - | true |
chore |
Maintenance | Routine tasks or minor changes that don't directly modify the functionality or code of a specific tool, such as updating dependencies. | - | false |
revert |
Reverts | Reverting changes made to a specific tool due to unforeseen impacts or issues introduced by the change. | - | true |