47 lines
4.0 KiB
Markdown
47 lines
4.0 KiB
Markdown
# Contributing to archinstall
|
|
|
|
Any contributions through pull requests are welcome as this project aims to be a community based project to ease some Arch Linux installation steps.<br>
|
|
Bear in mind that the future of this repo might be transferred to the official [GitLab repo under Arch Linux](http://gitlab.archlinux.org/archlinux/) *(if they so choose to adopt the project)*.
|
|
Therefore guidelines and style changes to the code might come into affect as well as guidelines surrounding bug reporting and discussions.
|
|
|
|
## Discussions
|
|
|
|
Currently, questions, bugs and suggestions should be reported through [GitHub issue tracker](https://github.com/Torxed/archinstall/issues).<br>
|
|
For less formal discussions there are also a [archinstall Discord server](https://discord.gg/cqXU88y).
|
|
|
|
## Coding convention
|
|
|
|
Archinstall's goal is to follow [PEP8](https://www.python.org/dev/peps/pep-0008/) as best as it can with some minor exceptions.<br>
|
|
The exceptions to PEP8 are:
|
|
|
|
* Archinstall uses [tabs instead of spaces](https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces) simply to make it easier for non-IDE developers to navigate the code *(Tab display-width should be equal to 4 spaces)*. Exception to the rule are comments that need fine-tuned indentation for documentation purposes.
|
|
* [Line length](https://www.python.org/dev/peps/pep-0008/#maximum-line-length) should aim for no more than 100 characters, but not strictly enforced.
|
|
* [Line breaks before/after binary operator](https://www.python.org/dev/peps/pep-0008/#should-a-line-break-before-or-after-a-binary-operator) is not enforced, as long as the style of line breaks are consistent within the same code block.
|
|
* Archinstall should always be saved with **Unix-formatted line endings** and no other platform-specific formats.
|
|
* [Blank lines](https://www.python.org/dev/peps/pep-0008/#blank-lines) before/after imports and functions are not followed and discouraged. One space is commonly used in archinstall.
|
|
* Multiple [Imports](https://www.python.org/dev/peps/pep-0008/#imports) on the same line is allowed, but more than five imports should be avoided on any given line. This simply saves up some space at the top of the file *(for non-IDE developers)* and will not be enforced.
|
|
* [String quotes](https://www.python.org/dev/peps/pep-0008/#string-quotes) follow PEP8, the exception being when creating formatted strings, double-quoted strings are *preferred* but not required on the outer edges *(Example: `f"Welcome {name}"` rather than `f'Welcome {name}'`)*.
|
|
|
|
Most of these style guidelines have been put into place after the fact *(in an attempt to clean up the code)*.<br>
|
|
There might therefore be older code which does not follow the coding convention and the code is subject to change.
|
|
|
|
## Submitting Changes
|
|
|
|
Archinstall uses Github's pull-request workflow and all contributions in terms of code should be done through pull requests.<br>
|
|
|
|
Anyone interested in archinstall may review your code. One of the core developers will merge your pull request when they think it is ready.
|
|
For every pull request, we aim to promptly either merge it or say why it is not yet ready; if you go a few days without a reply, please feel free to ping the thread by adding a new comment.
|
|
|
|
To get your pull request merged sooner, you should explain why you are making the change. For example, you can point to a code sample that is outdated in terms of Arch Linux command lines.
|
|
It is also helpful to add links to online documentation or to the implementation of the code you are changing.
|
|
|
|
Also, do not squash your commits after you have submitted a pull request, as this erases context during review. We will squash commits when the pull request is merged.
|
|
|
|
At present the current contributors are (alphabetically):
|
|
|
|
* Anton Hvornum ([@Torxed](https://github.com/Torxed))
|
|
* demostanis ([@demostanis](https://github.com/demostanis))
|
|
* Jerker Bengtsson ([@jaybent](https://github.com/jaybent))
|
|
* Varun Madiath ([@vamega](https://github.com/vamega))
|
|
* nullrequest ([@advaithm](https://github.com/advaithm))
|