# Contributing

Thanks for your interest in Gotify!

First of all, please note that we have a [code of conduct](CODE_OF_CONDUCT.md), please follow it in all your interactions with the project. 

If you have any questions you can join the chat on [#gotify:matrix.org](https://matrix.to/#/#gotify:matrix.org).

## Where to Contribute

|                                                         Repository|                                   Description|               Technology|
|                                                                ---|                                           ---|                      ---|
|[gotify/server](https://github.com/gotify/server)                  |server implementation and WebUI code          |`Go` `Typescript` `React`|
|[gotify/android](https://github.com/gotify/android)                |android client implementation                 |`Java` `Android`         |
|[gotify/plugin-template](https://github.com/gotify/plugin-template)|official gotify plugin template               |`Go`                     |
|[gotify/cli](https://github.com/gotify/cli)                        |official CLI client                           |`Go`                     |
|[gotify/website](https://github.com/gotify/website)                |documentaion [gotify.net](https://gotify.net/)|`Markdown` `Docusaurus`  |
|[gotify/contrib](https://github.com/gotify/contrib)                |community-contributed projects                |`misc`                   |    

## Ways to Contribute

### Document Refinements

_Keywords: **Documentation**, **Writing**_

Documents are residing in the [gotify/website](https://github.com/gotify/website) repository. Open an issue or PR and indicate the part of the document you are working on or the information you want to add to the document.

### Feature Request and implementation

_Keywords: **Features**, **Coding**_

When proposing features to gotify/\*, please first discuss the change you wish to make via issue, chat or any other method with the maintainers.

After the feature request is approved, file an issue or comment under the existing one indicating whether you want to submit the implementation yourself. If you decided not to, the maintainers would evaluate the necessity and urgency of the feature and decide whether to wait for another contributor to claim the request or commit an implementation himself/herself.

### Bug Reports and Fixes

_Keywords: **Bug Hunt**, **Coding**_

If you are not sure if the problem you are facing is indeed a bug, we recommend discussing it in the [community chat]((https://matrix.to/#/#gotify:matrix.org)) first, opening an issue is also welcome.

After the bug is confirmed, please file a new or comment under the existing issue describing the bug and indicate whether you want to sumbit the fix yourself.

If you want to submit a fix to an already confirmed issue, please indicate that you wish to submit a PR in a comment before starting your work.

### Community Contribution Projects

_Keywords:_ **Features**, **Coding**, **Writing**

Make gotify more powerful and easy-to-use than ever by:
 - writing a [plugin](https://gotify.net/docs/plugin)
 - writing a client (smartphones, Windows, Linux, Browser Add-on, etc.)
 - writing about how you have used gotify for your applications
 
Also, after you have finished, consider submitting your hard work to the community contributions [repository](https://github.com/gotify/contrib) so that more users can make a use of it.
