Added CONTRIBUTING file
This commit is contained in:
parent
22dad79dd5
commit
b06867dc5d
1 changed files with 36 additions and 0 deletions
36
CONTRIBUTING.md
Normal file
36
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,36 @@
|
|||
Thanks for considering contributing your work to make Platypush a better product!
|
||||
|
||||
Contributions are more than welcome, and the follow the standard Gitlab procedure:
|
||||
|
||||
- [Fork the repo](https://git.platypush.tech/platypush/platypush).
|
||||
- Prepare your changes.
|
||||
- [Submit a merge request](https://git.platypush.tech/platypush/platypush/-/merge_requests).
|
||||
|
||||
Guidelines:
|
||||
|
||||
- The code should ideally have no LINT warnings/issues.
|
||||
|
||||
- Project conventions:
|
||||
- 4 spaces to indent
|
||||
- RST format for classes and methods documentation
|
||||
- Run `generate_missing_docs.sh` if you are adding new plugins/backends to automatically
|
||||
generate the doc templates
|
||||
- Naming conventions: plugin classes are named `<Module>Plugin` and backend classes are
|
||||
named `<Module>Backend`, with `<Module>` being the (camel-case) representation of the
|
||||
Python module of the plugin without the prefix - for example, the plugin under
|
||||
`platypush.plugins.light.hue` must be named `LightHuePlugin`.
|
||||
|
||||
- If possible, [add a test](https://git.platypush.tech/platypush/platypush/-/tree/master/tests)
|
||||
for the new functionality. If you have built a new functionality that works with some specific
|
||||
device or service then it's not required to write a test that mocks the whole service, but if
|
||||
you are changing some of the core entities (e.g. requests, events, procedures, hooks, crons
|
||||
or the bus) then make sure to add tests and not to break the existing tests.
|
||||
|
||||
- If the feature requires an optional dependency then make sure to document it:
|
||||
|
||||
- In the class docstring (see other plugins and backends for examples)
|
||||
- In [`setup.py`](https://git.platypush.tech/platypush/platypush/-/blob/master/setup.py#L72) as
|
||||
an `extras_require` entry
|
||||
- In [`requirements.txt`](https://git.platypush.tech/platypush/platypush/-/blob/master/requirements.txt) -
|
||||
if the feature is optional then leave it commented and add a one-line comment to explain which
|
||||
plugin or backend requires it.
|
Loading…
Reference in a new issue