Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: set up contributor guide #19

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Contributor Guide

You are welcome to contribute to RDMO and its plugins by improving and changing them! However, we want to provide a
stable software for the community and therefore ask you to follow the following workflow.

Here is a list of important resources for new contributors:

- [Source Code](https://github.com/rdmorganiser/rdmo)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These links might be useful for all projects (plugins included). Right?

- [Documentation](https://rdmo.readthedocs.io)
- [Issue Tracker](https://github.com/rdmorganiser/rdmo/issues)
- [Code of Conduct](https://github.com/rdmorganiser/rdmo/blob/main/CODE_OF_CONDUCT.md)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update link, once there is a coc in this repo.


## How to report a bug

If you found a bug or want a feature to be added, look at the existing issues first. If you find a corresponding issue, please comment on it. If no issue matches, create one (select "Bug report").
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here I removed the link to the issue tracker.


When filing an issue, make sure to answer these questions:

- Which operating system and Python version are you using?
- Which version of this project are you using?
- What did you do?
- What did you expect to see?
- What did you see instead?

The best way to get your bug fixed is to provide a test case, and/or steps to reproduce the issue.

## How to request a feature

If you want a feature to be added, look at the existing issues first. If you find a corresponding issue, please comment on it. If no issue matches, create one (select "Feature request").

If you decide to work on the issue yourself, please wait until you received some feedback from us. Maybe we are already working on it (and forgot to comment on the issue), or we have other plans for the affected code.

## How to set up your development environment

You need [Python 3.8+](https://www.python.org/downloads).

Install the package with development requirements:

```console
$ python -m pip install -e ".[dev]"
```

See also: [Development docs](https://rdmo.readthedocs.io/en/latest/development/setup.html).

## How to test the project

Run the full test suite with pytest:

```console
$ pytest
```

See also: [Testing docs](https://rdmo.readthedocs.io/en/latest/development/testing.html).

## How to submit changes

It is recommended to open an issue before starting work on anything. This will allow a chance to talk it over with the owners and validate your approach.

Please fork our repository and create a new branch named according to what you want to do (e.g. `fix_login_form` or
`fancy_feature`).

Open a pull request to submit changes to this project. Afterwards, check if your branch is still up to date. If not
perform a rebase. The project team will review your pull request.

Your pull request needs to meet the following guidelines for acceptance:

- The pytest suite must pass without errors and warnings.
- Include unit tests.
- If your changes add functionality, update the documentation accordingly.

Feel free to submit early, though—we can always iterate on this.

To run linting and code formatting checks before committing your change, you can install pre-commit as a Git hook by
running the following command:

```console
$ pre-commit install
```

To run the linting and code formatting checks (e.g. ruff) on the entire code base, use the command:

```console
$ pre-commit run --all-files
```

These checks will run as a CI job as well.

## Code style

Please use the [coding standards from the Django project](https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/) and try to follow our conventions as close as possible.

---

*This contributor guide is adapted from [cookiecutter-hypermodern-python 2022.6.3 (MIT License)](https://github.com/cjolowicz/cookiecutter-hypermodern-python/blob/2022.6.3/%7B%7Bcookiecutter.project_name%7D%7D/CONTRIBUTING.md).*