d5e9e8d37bd2556f154ec136f9c0dc206a52e35a
- Author
- Marc Cornellà <hello@mcornella.com>
- Committer
- Marc Cornellà <hello@mcornella.com>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
2index be67e93b0a4242e8f96903d6b93bbc8a626afaee..b7db4f6619d45a2cf460dab43c9e18cfd15ed771 100644
3--- a/CONTRIBUTING.md
4+++ b/CONTRIBUTING.md
5@@ -11,16 +11,23 @@ issues and pull requests. Please read them closely.
6 Foremost, be so kind as to [search](#use-the-search-luke). This ensures any contribution
7 you would make is not already covered.
8
9-* [Issues](#reporting-issues)
10- * [You have a problem](#you-have-a-problem)
11- * [You have a suggestion](#you-have-a-suggestion)
12-* [Pull Requests](#submitting-pull-requests)
13- * [Getting started](#getting-started)
14- * [You have a solution](#you-have-a-solution)
15- * [You have an addition](#you-have-an-addition)
16-* [Information sources (_aka_ search)](#use-the-search-luke)
17-
18-**BONUS:** [Volunteering](#you-have-spare-time-to-volunteer)
19+<!-- TOC -->
20+
21+- [CONTRIBUTING GUIDELINES](#contributing-guidelines)
22+ - [Reporting Issues](#reporting-issues)
23+ - [You have a problem](#you-have-a-problem)
24+ - [You have a suggestion](#you-have-a-suggestion)
25+ - [Submitting Pull Requests](#submitting-pull-requests)
26+ - [Getting started](#getting-started)
27+ - [You have a solution](#you-have-a-solution)
28+ - [You have an addition](#you-have-an-addition)
29+ - [Use the Search, Luke](#use-the-search-luke)
30+ - [Commit Guidelines](#commit-guidelines)
31+ - [Format](#format)
32+ - [Style](#style)
33+ - [Volunteer](#volunteer)
34+
35+<!-- /TOC -->
36
37 ## Reporting Issues
38
39@@ -117,7 +124,100 @@ and [create an issue](#reporting-issues) or [submit a PR](#submitting-pull-reque
40
41 ----
42
43-### You have spare time to volunteer
44+## Commit Guidelines
45+
46+Oh My Zsh uses the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
47+specification. The automatic changelog tool uses these to automatically generate
48+a changelog based on the commit messages. Here's a guide to writing a commit message
49+to allow this:
50+
51+### Format
52+
53+```
54+type(scope)!: subject
55+```
56+
57+- `type`: the type of the commit is one of the following:
58+
59+ - `feat`: new features.
60+ - `fix`: bug fixes.
61+ - `docs`: documentation changes.
62+ - `refactor`: refactor of a particular code section without introducing
63+ new features or bug fixes.
64+ - `style`: code style improvements.
65+ - `perf`: performance improvements.
66+ - `test`: changes to the test suite.
67+ - `ci`: changes to the CI system.
68+ - `build`: changes to the build system (we don't yet have one so this shouldn't apply).
69+ - `chore`: for other changes that don't match previous types. This doesn't appear
70+ in the changelog.
71+
72+- `scope`: section of the codebase that the commit makes changes to. If it makes changes to
73+ many sections, or if no section in particular is modified, leave blank without the parentheses.
74+ Examples:
75+
76+ - Commit that changes the `git` plugin:
77+ ```
78+ feat(git): add alias for `git commit`
79+ ```
80+
81+ - Commit that changes many plugins:
82+ ```
83+ style: fix inline declaration of arrays
84+ ```
85+
86+ For changes to plugins or themes, the scope should be the plugin or theme name:
87+
88+ - ✅ `fix(agnoster): commit subject`
89+ - ❌ `fix(theme/agnoster): commit subject`
90+
91+- `!`: this goes after the `scope` (or the `type` if scope is empty), to indicate that the commit
92+ introduces breaking changes.
93+
94+ Optionally, you can specify a message that the changelog tool will display to the user to indicate
95+ what's changed and what they can do to deal with it. You can use multiple lines to type this message;
96+ the changelog parser will keep reading until the end of the commit message or until it finds an empty
97+ line.
98+
99+ Example (made up):
100+
101+ ```
102+ style(agnoster)!: change dirty git repo glyph
103+
104+ BREAKING CHANGE: the glyph to indicate when a git repository is dirty has