Skip to content

Contributing to Husky

Adolph edited this page May 2, 2024 · 5 revisions

There are several ways to contribute to Husky.

Reporting an issue

Issues are managed through the issue tracker at the repository. Templates are provided in order to keep a common format for reporting anything. Please, use them. Empty issues are not allowed.

Before opening an issue, look for the same and/or similar issues in case anyone already reported the same problem.

If you report a crash, provide all the information, such as steps to reproduce the issue, the stacktrace, instance where it happened in case it is related to it, and all you consider relevant in order to identify the problem.

Please, be advised, anything you add to the issue is considered content, and therefore, it must be compilant with the platform's ToS. Anything not deemed compliant will be removed, and your issue might get deleted.

The platform's ToS are subjected to change anytime.

Opening a PR

If you want to contribute with code:

  1. Make a copy (fork) the repository.

  2. Create a branch from the master branch (with a proper name).

  3. Make a PR to the develop branch.

    Keep your branch updated through the revision process. Rebase your branch in case you need to update it.

    If a PR contains merge commits it will be asked to revert the whole merge and do a rebase instead.

Considerations before making a PR:

  • If it is a new feature (not listed at the issue tracker) it would be good to discuss it first.

  • If you want to work on an issue, reference the issue in the PR.

  • PRs must solve one issue at a time. If by chance your PR fix another issue for free, it will be considered an exception.

  • You must test everything you made. If anything fails, you will be required to fix it or your commit might get reverted.

  • You are required to reply to comments and changes in the PR. Not doing so for a period of time will be considered abandonment of the PR, and thus, it will be discarded.

A PR will be considered abandoned if the author does not make any change or attend any comment within a month. Small changes to keep the PR open within this period of time will be considered also abandonment.

Code guidelines

It is required that you pass ktlint in the code previous opening a PR. You can run the Gradle task ktlintFormat from Android Studio or from the CLI:

./gradlew ktlintFormat

Translations

Translations are made through Weblate.

In order to contribute to translations, you will have to make an account at the Weblate site.

Documentation

The documentation is managed through the wiki of the repository. Open an issue requesting access if you want to modify it.

Clone this wiki locally