content/wiki/contribute.md
2024-01-12 19:46:03 +03:00

48 lines
2.3 KiB
Markdown

If you want to contribute to MatterLinux, please first read the
[code of conduct](/wiki/conduct).
## Registering to Gitea
All of the development is done using the [git version control system](https://git-scm.com/).
And all the git repos are managed using [Gitea](https://about.gitea.com/), 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](mailto:ngn@ngn.tf) 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.
**Important:** Do not use the Gitea instance for hosting your own projects/repositories, personal
repositories (A.K.A. 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.
## 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.
**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
```
After making the changes, commit them with a descriptive message. Do not use long commit messages,
instead add a description to your commit. **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](/wiki/chat) to discuss with the other developers, especially for larger
changes and PRs.