qusal/docs/CONTRIBUTE.md
Ben Grande 8fbd9a063c
feat: verify commit signature before push
Check commit signature and if it fails, check if any signed tags
associated with commit exist from a keyring that can be found only
locally.

For: https://github.com/ben-grande/qusal/issues/105
2024-10-25 11:18:52 +02:00

2.6 KiB

Contributing

Qusal contribution guidelines.

Table of Contents

Respect

Be respectful towards peers.

Starters

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.

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.

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.

To grasp how the project is structured, why some design decisions were made and what can be improved, see the design guide.

Experiment with some formulas, read them, understand what is being done.

Environment

Setting up your environment is mandatory. Commits made using the Github Web interface will be rejected.

For an automatic setup, use the dev formula, else, install the packages below depending on the task:

For writing:

  • editorconfig
  • vim-editorconfig or the plugin for your editor
  • vim, vim-jinja, vim-salt (recommended)

For committing and linting:

For building RPMs:

Issues

See open issues and search for the word TODO in the repository files.

Look at the labels help wanted and good first issue in the issue tracking system to get started.

Lint

Lint before you commit, please... else you will have to fix after the PR has already been sent, the maintainer has already read and both parties loses time.

Install the local hooks:

pre-commit install
gitlint install-hook

To run pre-commit linters:

pre-commit run

Maintainer's lint

Note this is only required for maintainers.

Install the pre-push hooks:

pre-commit install -t pre-push