Development docs

Conventional Commits

To get more structure in the commit history we make use of The Conventional Commits specification. This document will teach you the structure for the commit messages. https://www.conventionalcommits.org/en/v1.0.0/

Structure

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Type (intent of change):

Use one of the following types to communicate the intent of your commit.

  • fix: A bug fix
  • feat: A new feature
  • revert: If the commit reverts a previous commit
  • build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
  • chore:
  • ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
  • docs: Documentation only changes
  • perf: A code change that improves performance
  • refactor: A code change that neither fixes a bug nor adds a feature
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • test: Adding missing tests or correcting existing tests

Scope (within parenthesis) optional:

To provide additional contextual information, e.g., feat(parser): add ability to parse arrays.

  • any additional information
  • use nouns
  • for breaking changes use !

Description:

  • short message describing what the commit does
  • written in the imperative - use add instead of adds or added

Optional body:

  • free form
  • explain changes you've made

Plugins

-PHPStorm: https://plugins.jetbrains.com/plugin/13389-conventional-commit

-VisualStudioCode: https://marketplace.visualstudio.com/items?itemName=vivaxy.vscode-conventional-commits

-Conventional-pre-commit: https://github.com/compilerla/conventional-pre-commit A pre-commit hook to check commit messages for Conventional Commits formatting.

Versions/Nyx

The discussion on this is still ongoing. Documentation to be continued.

Search results