2024-01-22 12:38:04 -05:00
|
|
|
# Contributing
|
|
|
|
|
|
|
|
Qusal contribution guidelines.
|
|
|
|
|
|
|
|
## Table of Contents
|
|
|
|
|
|
|
|
* [Respect](#respect)
|
2024-06-21 08:27:21 -04:00
|
|
|
* [Starters](#starters)
|
|
|
|
* [Requirements](#requirements)
|
|
|
|
* [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.
|
|
|
|
|
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
General:
|
2024-06-21 08:27:21 -04:00
|
|
|
|
2024-01-22 12:38:04 -05:00
|
|
|
- git
|
|
|
|
|
|
|
|
For writing:
|
2024-06-21 08:27:21 -04:00
|
|
|
|
2024-01-22 12:38:04 -05:00
|
|
|
- editorconfig
|
|
|
|
- editorconfig plugin for your editor
|
|
|
|
- vim, [vim-jinja](https://github.com/ben-grande/vim-jinja),
|
|
|
|
[vim-salt](https://github.com/ben-grande/vim-salt) (recommended)
|
|
|
|
|
|
|
|
For linting:
|
2024-06-21 08:27:21 -04:00
|
|
|
|
2024-01-22 12:38:04 -05:00
|
|
|
- pre-commit
|
|
|
|
- gitlint
|
|
|
|
- salt-lint
|
|
|
|
- shellcheck
|
|
|
|
- reuse
|
|
|
|
|
|
|
|
For building RPMs:
|
2024-06-21 08:27:21 -04:00
|
|
|
|
2024-01-22 12:38:04 -05:00
|
|
|
- sed (GNU sed)
|
|
|
|
- dnf
|
|
|
|
- dnf-plugins-core (dnf builddep)
|
|
|
|
- rpm
|
|
|
|
- rpmlint
|
|
|
|
- rpmautospec (only available in Fedora)
|
|
|
|
|
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:
|
|
|
|
```sh
|
|
|
|
pre-commit install
|
|
|
|
gitlint install-hook
|
|
|
|
```
|
|
|
|
|
|
|
|
To run pre-commit linters:
|
|
|
|
```sh
|
|
|
|
pre-commit run
|
|
|
|
```
|