A CommitLint configuration for writing properly formatted Git commits within the Galaxy.
npm install --save-dev @theholocron/commitlint-config
In your project package.json
add the following:
{
"commitlint": {
"extends": "@theholocron"
}
}
The following rules are considered problems for @theholocron/commitlint-config
and will yield a non-zero exit code when not met.
Consult docs/rules for a list of available rules.
-
condition:
type
is found in value -
rule:
always
-
value
[ 'build', 'ci', 'chore', 'docs', 'feat', 'fix', 'perf', 'refactor', 'revert', 'style', 'test' ]
echo "foo: some message" # fails
echo "fix: some message" # passes
-
description:
type
is in casevalue
-
rule:
always
-
value
'lowerCase'
echo "FIX: some message" # fails
echo "fix: some message" # passes
- condition:
type
is empty - rule:
never
echo ": some message" # fails
echo "fix: some message" # passes
- condition:
scope
is in casevalue
- rule:
always
'lowerCase'
echo "fix(SCOPE): some message" # fails
echo "fix(scope): some message" # passes
- condition:
subject
is in one of the cases['sentence-case', 'start-case', 'pascal-case', 'upper-case']
- rule:
never
echo "fix(SCOPE): Some message" # fails
echo "fix(SCOPE): Some Message" # fails
echo "fix(SCOPE): SomeMessage" # fails
echo "fix(SCOPE): SOMEMESSAGE" # fails
echo "fix(scope): some message" # passes
echo "fix(scope): some Message" # passes
- condition:
subject
is empty - rule:
never
echo "fix:" # fails
echo "fix: some message" # passes
- condition:
subject
ends withvalue
- rule:
never
- value
'.'
echo "fix: some message." # fails
echo "fix: some message" # passes
- condition:
header
hasvalue
or less characters - rule:
always
- value
72
echo "fix: some message that is way too long and breaks the line max-length by several characters" # fails
echo "fix: some message" # passes
This project uses a CHANGELOG and GitHub releases which contains a curated, chronologically ordered list of notable changes for each version of a project. Read more about changelogs.
We use SemVer for its versioning providing us an opt-in approach to releases. This means we add a version number according to the spec, as you see below. So rather than force developers to consume the latest and greatest, they can choose which version to consume and test any newer ones before upgrading. Please the read the spec as it goes into further detail.
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes.
- MINOR version when you add functionality in a backward-compatible manner.
- PATCH version when you make backward-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
Have a bug or a feature request? Looking to contribute to advance the project? Read our contribution guide or maintenance guide first in order to understand how we do things around here. Or you could look at some of our other guides below:
How do I… (click to expand)
Looking to talk to someone or need some help? Please read our support guidelines.
©2020 GNU General Public License v3. See LICENSE for specifics.