Git convention#
Make sure you follow Semantic Versioning
Version numbers are handled automatically by using semantic-release.
Commit Messages#
For consistency, please write commit messages in the imperative mood.
A clear and concise commit message helps others understand the purpose of the commit and makes it easier to search through the history for specific changes.
Why the Imperative Mood?#
The imperative mood matches the implied "command" to the codebase. Think of the message as completing the phrase: "This commit will...". For example:
- "Fix bug" (instead of "Fixed bug")
- "Add feature" (instead of "Added feature")
- "Refactor code" (instead of "Refactored code")
This convention helps maintain consistency and clarity across the Eufemia codebase.
Decorate your commit messages#
Make sure to decorate your commit messages with either Conventional Commits or simple-commit-message:
fix: fix messageas the subjectfeat: feature messageas the subject- For a major change:
feat: message+BREAKING CHANGE:in the footer of the commit. See example below.
If you are working on a single component update, you can use a decoration and a scope in parenthesis:
fix(ExampleComponent): an example fix messagefeat(ExampleComponent): this is a new feature
You can also use the following decorators. docs, design, style, deps,
refactor, perf, and test are included in the
release notes when another
change triggers a release. chore and build are not included. None of these
decorators triggers a release on its own:
chore:design:docs:style:build:deps:refactor:perf:test:
Example of a breaking change commit message:
feat: commit subject with optional decoratorBody with textSeveral linesBREAKING CHANGE:Subject (will be a list item):Markdown text over several lines.Additional text such as:1. List item2. List item
You can find more info in the docs of semantic-release and Conventional Commits.
Ignore CI run#
You can either include [skip ci] in your commit message or let your branch name end with --skip-ci.
Rebasing#
Squash commits#
If you have to make a small fix after you committed:
- Make and commit the new change
- Squash and rebase with the previous commit
- Force push to your branch
Rebase onto main#
If you are working on a branch for a long period, it might be necessary to do a rebase on main once in a while:
git fetch origin && git rebase origin/main
Pull Requests#
When you have committed changes to your branch, go to GitHub Pull Requests and open a New pull request.

You will most likely get the yellow notification bar mentioning that a branch had a recent push. Click on the Compare and pull request button. This will take you to the page for opening a pull request. Fill out the template under the Write tab.

Request a reviewer, create the pull request and watch the results of the pipeline checks.