diff --git a/oeps/oep-0051-bp-conventional-commits.rst b/oeps/oep-0051-bp-conventional-commits.rst new file mode 100644 index 000000000..5fd5fa25d --- /dev/null +++ b/oeps/oep-0051-bp-conventional-commits.rst @@ -0,0 +1,165 @@ +============================== +OEP-0051: Conventional Commits +============================== + +.. list-table:: + :widths: 25 75 + + * - OEP + - :doc:`OEP-0051 ` + * - Title + - Conventional Commits + * - Last Modified + - 2021-02-24 + * - Authors + - Ned Batchelder + * - Arbiter + - To Be Determined + * - Status + - Provisional + * - Type + - Best Practice + * - Created + - 2021-02-01 + * - Review Period + - To Be Determined + * - Resolution + - TK + * - References + - TK + + +Abstract +======== + +Commits should be clearly labeled for their effect on consumers of the repository. To do this, we adopt the `Conventional Commits`_ guidelines, which detail structured commit messages that clarify the impact of each commit. + +This is part of our Change Transparency initiative. + +Motivation +========== + +Developers should describe the changes they make. This information is valuable to many audiences: deployers, integrators, end-users, operators, and so on. Developers are in the best position to accurately describe their work and its implications. + +The nearer to the change that information is captured, the easier it will be to write, and the more accurate it will be. Changes made by developers are consumed by many people, from the pull request reviewer to the final user of the product. The more the developer can explain the change, the more easily the change will be understood and used, and the more efficient the overall development process will be. + +Commit messages are the closest text to the change itself. The more +information-rich we can make commit messages, the more useful they will be. + + +Specfication +============ + +We are adopting the `Conventional Commits`_ spec, with our own adjustments. + +.. note:: Many people are familiar with the `Angular commit message format`_, which uses conventional commits and inspired the Conventional Commits spec. We are **not** adopting the Angular rules. + +Git commit messages have these parts:: + + : + + + +