AdGuardHome/CONTRIBUTING.md

58 lines
3 KiB
Markdown
Raw Normal View History

2024-04-02 20:22:19 +03:00
# Contributing to AdGuard Home
2024-04-02 20:22:19 +03:00
If you want to contribute to AdGuard Home by filing or commenting on an issue or opening a pull request, please follow the instructions below.
2024-04-02 20:22:19 +03:00
## General recommendations
2024-04-02 20:22:19 +03:00
Please dont:
2024-04-02 20:22:19 +03:00
- post comments like “+1” or “this”. Use the :+1: reaction on the issue instead, as this allows us to actually see the level of support for issues.
2024-04-02 20:22:19 +03:00
- file issues about localization errors or send localization updates as PRs. Were using [CrowdIn] to manage our translations and we generally update them before each Beta and Release build. You can learn more about translating AdGuard products [in our Knowledge Base][kb-trans].
2024-04-02 20:22:19 +03:00
- file issues about a particular filtering-rule list misbehaving. These are tracked through the [separate form for filtering issues][form].
2024-04-02 20:22:19 +03:00
- send or request updates to filtering-rule lists, such as the ones for the Blocked Services feature or the list of approved filtering-rule lists. We update them from the [separate repository][hostlist] once before each Beta and Release build.
Please do:
2024-04-02 20:22:19 +03:00
- follow the template instructions and provide data for reproducing issues.
2024-04-02 20:22:19 +03:00
- write the title of your issue or pull request in English. Any language is fine in the body, but it is important to keep the title in English to make it easier for people and bots to look up duplicated issues.
[CrowdIn]: https://crowdin.com/project/adguard-applications/en#/adguard-home
[form]: https://link.adtidy.org/forward.html?action=report&app=home&from=github
2024-04-02 20:22:19 +03:00
[hostlist]: https://github.com/AdguardTeam/HostlistsRegistry
[kb-trans]: https://kb.adguard.com/en/general/adguard-translations
2024-04-02 20:22:19 +03:00
## Issues
2024-04-02 20:22:19 +03:00
### Search first
2024-04-02 20:22:19 +03:00
Please make sure that the issue is not a duplicate or a question. If its a duplicate, please react to the original issue with a thumbs up. If its a question, please look through our [Wiki] and, if you havent found the answer, post it to the GitHub [Discussions] page.
[Discussions]: https://github.com/AdguardTeam/AdGuardHome/discussions/categories/q-a
[Wiki]: https://github.com/AdguardTeam/AdGuardHome/wiki
2024-04-02 20:22:19 +03:00
### Follow the issue template
2024-04-02 20:22:19 +03:00
Developers need to be able to reproduce the faulty behavior in order to fix an issue, so please make sure that you follow the instructions in the issue template carefully.
2024-04-02 20:22:19 +03:00
## Pull requests
2024-04-02 20:22:19 +03:00
### Discuss your changes first
2024-04-02 20:22:19 +03:00
Please discuss your changes by opening an issue. The maintainers should evaluate your proposal, and its generally better if thats done before any code is written.
2024-04-02 20:22:19 +03:00
### Review your changes for style
2024-04-02 20:22:19 +03:00
We have a set of [code guidelines][hacking] that we expect the code to follow. Please make sure you follow it.
[hacking]: https://github.com/AdguardTeam/CodeGuidelines/blob/master/Go/Go.md
2024-04-02 20:22:19 +03:00
### Test your changes
2024-04-02 20:22:19 +03:00
Make sure that it passes linters and tests by running the corresponding Make targets. For backend changes, its `make go-check`. For frontend, run `make js-lint`.
2024-04-02 20:22:19 +03:00
Additionally, a manual test is often required. While were constantly working on improving our test suites, theyre still not as good as wed like them to be.