2024-01-22 12:38:04 -05:00
|
|
|
# Contributing
|
|
|
|
|
|
|
|
Qusal contribution guidelines.
|
|
|
|
|
|
|
|
## Table of Contents
|
|
|
|
|
2024-07-04 11:10:11 -04:00
|
|
|
* [Respect](#respect)
|
|
|
|
* [Starters](#starters)
|
|
|
|
* [Environment](#environment)
|
|
|
|
* [Issues](#issues)
|
|
|
|
* [Lint](#lint)
|
2024-01-22 12:38:04 -05:00
|
|
|
|
|
|
|
## Respect
|
|
|
|
|
|
|
|
Be respectful towards peers.
|
|
|
|
|
2024-06-21 08:27:21 -04:00
|
|
|
## Starters
|
2024-01-22 12:38:04 -05:00
|
|
|
|
2024-06-21 08:27:21 -04:00
|
|
|
There are several ways to contribute to this project. Spread the word, help on
|
|
|
|
user support, review opened issues, fix typos, implement new features,
|
|
|
|
donations. Technical knowledge is not always required, if you already
|
|
|
|
understood a problem, give other users your time by linking the solution to
|
|
|
|
them.
|
2024-01-22 12:38:04 -05:00
|
|
|
|
2024-06-21 08:27:21 -04:00
|
|
|
Please read this document and every document linking from here entirely before
|
|
|
|
contributing code or to the documentation. It holds important information on
|
|
|
|
how the project is structured, why some design decisions were made and what
|
|
|
|
can be improved.
|
2024-01-22 12:38:04 -05:00
|
|
|
|
2024-06-21 08:27:21 -04:00
|
|
|
By skipping the read, there is a high change your contribution does not
|
|
|
|
conform to our guidelines and project design, therefore it is going to be
|
|
|
|
rejected. The only exception is a change of guidelines, but this is reserved
|
|
|
|
for users that has a history of contributing to the project, not for starters.
|
|
|
|
|
|
|
|
If you want to understand how Qusal uses Salt features, read our
|
|
|
|
[Salt guide](SALT.md).
|
|
|
|
|
|
|
|
To grasp how the project is structured, why some design decisions were
|
|
|
|
made and what can be improved, see the [design guide](DESIGN.md).
|
|
|
|
|
|
|
|
Experiment with some formulas, read them, understand what is being done.
|
|
|
|
|
2024-07-01 06:09:07 -04:00
|
|
|
## Environment
|
2024-06-21 08:27:21 -04:00
|
|
|
|
2024-07-01 06:09:07 -04:00
|
|
|
Setting up your environment is mandatory. Commits made using the Github Web
|
|
|
|
interface will be rejected.
|
2024-06-21 08:27:21 -04:00
|
|
|
|
|
|
|
For an automatic setup, use the [dev formula](../salt/dev), else, install the
|
|
|
|
packages below depending on the task:
|
2024-01-22 12:38:04 -05:00
|
|
|
|
|
|
|
For writing:
|
2024-06-21 08:27:21 -04:00
|
|
|
|
2024-07-04 11:10:11 -04:00
|
|
|
* editorconfig
|
2024-07-08 05:41:45 -04:00
|
|
|
* vim-editorconfig or the plugin for your editor
|
2024-07-04 11:10:11 -04:00
|
|
|
* vim, [vim-jinja](https://github.com/ben-grande/vim-jinja),
|
|
|
|
[vim-salt](https://github.com/ben-grande/vim-salt) (recommended)
|
2024-01-22 12:38:04 -05:00
|
|
|
|
2024-07-08 05:41:45 -04:00
|
|
|
For committing and linting:
|
2024-06-21 08:27:21 -04:00
|
|
|
|
2024-07-08 05:41:45 -04:00
|
|
|
* [dependencies/debian.txt](../dependencies/debian.txt)
|
|
|
|
* [dependencies/pip.txt](../dependencies/pip.txt)
|
2024-01-22 12:38:04 -05:00
|
|
|
|
|
|
|
For building RPMs:
|
2024-06-21 08:27:21 -04:00
|
|
|
|
2024-07-08 05:41:45 -04:00
|
|
|
* [dependencies/rpm.txt](../dependencies/rpm.txt)
|
2024-01-22 12:38:04 -05:00
|
|
|
|
2024-06-21 08:27:21 -04:00
|
|
|
## Issues
|
2024-01-22 12:38:04 -05:00
|
|
|
|
2024-06-21 08:27:21 -04:00
|
|
|
See open issues and search for the word `TODO` in the repository files.
|
2024-01-22 12:38:04 -05:00
|
|
|
|
2024-06-21 08:27:21 -04:00
|
|
|
Look at the labels `help wanted` and `good first issue` in the issue tracking
|
|
|
|
system to get started.
|
2024-01-22 12:38:04 -05:00
|
|
|
|
2024-06-21 08:27:21 -04:00
|
|
|
## Lint
|
2024-01-22 12:38:04 -05:00
|
|
|
|
|
|
|
Lint before you commit, please... else you will have to fix after the PR has
|
2024-06-21 08:27:21 -04:00
|
|
|
already been sent, the maintainer has already read and both parties loses
|
|
|
|
time.
|
2024-01-22 12:38:04 -05:00
|
|
|
|
|
|
|
Install the local hooks:
|
2024-07-04 11:10:11 -04:00
|
|
|
|
2024-01-22 12:38:04 -05:00
|
|
|
```sh
|
|
|
|
pre-commit install
|
|
|
|
gitlint install-hook
|
|
|
|
```
|
|
|
|
|
|
|
|
To run pre-commit linters:
|
2024-07-04 11:10:11 -04:00
|
|
|
|
2024-01-22 12:38:04 -05:00
|
|
|
```sh
|
|
|
|
pre-commit run
|
|
|
|
```
|
2024-10-25 05:18:52 -04:00
|
|
|
|
|
|
|
### Maintainer's lint
|
|
|
|
|
|
|
|
Note this is only required for maintainers.
|
|
|
|
|
|
|
|
Install the `pre-push` hooks:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
pre-commit install -t pre-push
|
|
|
|
```
|