Skip to content

Contribution Guidelines

rrowlands edited this page Jul 6, 2023 · 3 revisions

Commit messages must adhere to the conventional commits specification. Commit messages are validated via commit lint, with the @commitlint/config-conventional configuration. Strict adherence to these conventions is important in order to guarantee properly generated release notes. This commit lint validation is automatically installed on developer's machines via the npm install command when executed in georegistry-ui/src/main/ng2.

Scopes

Scopes must not contain spaces in them! If your scope contains a space, unfortunately commit lint will validate successfully, however your commit will not make it into the release notes.

Officially recognized CGR scopes:

  • change-request
  • explorer
  • synchronization
  • lists
  • settings
  • hierarchies
  • core
  • curation
  • events
  • scheduler
  • import

Referencing Tickets

Additionally, Github tickets may be linked as follows:

fix(scope): test commit message (refs #848)

where the (refs #ticketnumber) is required syntax.

Breaking Changes

As per the conventional commit documentation, flagging a change as breaking is most commonly done by adding an exclamation point after the scope or type, for example:

fix(lists)!: changed something important (refs #848)

When committing via a command line on Linux you may encounter the following error:

bash: : unrecognized history modifier

This is due to the fact that ! is recognized as a shell command. If you wrap your message in single quotes instead of double quotes it will disable the shell interpreter and take your string as a literal. For example:

git commit -m 'fix(lists)!: changed something important (refs #848)'

Clone this wiki locally