MatterLinux

Wiki: Contributing

22/02/24

by ngn

If you want to contribute to MatterLinux, please consider getting in direct contact with the maintainers.

Registering to Gitea

All of the development is done using the git version control system. And all the git repos are managed using Gitea, so if you want to contribute, you should register an account first. To prevent mass account creation, registration page of Gitea is disabled. So in order to register an account, send a email to the maintainer with the subject Gitea Account. Specify at least two usernames for your account (second one will be used for registration if the first one is unavailable). Then wait for a reply containing further instructions. You can also contact the maintainer directly.

Important

Do not use the Gitea instance for hosting your own projects/repositories, personal repositories (AKA repositories not forked for PRs) will be deleted. If you insist on creating personal repositories your account will be deleted.

Issues

To report a bug, to ask questions or to request a feature, first find the related repository. Then head over to the issue tab. Label your issue and explain it with a simple title. Write a detailed description for the issue. Finally create the issue and patiently wait for a response.

To get more information about reporting bugs, check out this wiki page.

Pull Requests

If you want to make changes and merge them to the project, first fork the related repository. Then clone the forked repository and make the changes you want.

Important

Do not make multiple changes in one commit, for example adding a feature and fixing a bug in the same commit is a bad idea. Separate different changes to different commits

Make sure to use correct indenting!. MatterLinux projects uses 2 spaces for indenting. Configure your editor so it uses the same indenting. Here is an example configuration for the vim editor:

set tabstop=2
set softtabstop=0
set expandtab
set shiftwidth=2
set smarttab

And here is a more extended configuration for general usage:

set tabstop=2
set softtabstop=0
set expandtab
set shiftwidth=2
set smarttab

set fileencoding="utf-8"
set hlsearch
set ignorecase
set mouse=a
set smartcase
set smartindent
set noswapfile
set pumheight=10
set undofile
set scrolloff=8
set sidescrolloff=8
set number
set relativenumber
set backspace=indent,eol,start

if !isdirectory("/tmp/undos")
    call mkdir("/tmp/undos", "", 0700)
endif
set undodir=/tmp/undos
set undofile

syntax on

You should also run the make format command for repositories that contain custom formatting rules in their Makefiles.

After making the changes, commit them using the following format:

<fix/feature/new/remove/update>: <description>

Do not use long commit messages, instead add a description to your commit if needed. Make sure the email you are using for signing the commit matches with your Gitea account email.

After pushing your changes create a pull request (PR) to the original project. Write a detailed description for the PR, explain the changes you have made, explain why you made these changes and link any related issues.

Discussion

Join the chat rooms to discuss with the other developers, especially for larger changes and PRs.