Thank you for your interest in improving Fossify!
To make the process as smooth as possible for everyone, please read the relevant section below.
- This repository is for bugs and suggestions that affect multiple apps. For issues affecting only one app, use its separate repository.
- If you are reporting a bug, provide clear steps to reproduce it. Be sure to mention your app version, device model, and OS version.
- Ensure you're using the latest app version and have read the in-app FAQ before reporting.
- Search first! Check if the issue has already been reported by searching with relevant keywords.
- If a feature request already exists, add a "👍" to show your support. Avoid comments like
+1orI need this too!, as they do not add useful information. - If a bug is already reported and has the
needs reproductionordevice/software specificlabels, feel free to add a comment with your device model and OS version. - Please write all reports in English. Reports in other languages will be closed.
-
Issue first
- Before starting work, confirm there is an open issue for the task and that it is labeled
help wanted. Please do not submit PRs for issues without this label. Such pull requests will be closed without review. - Exceptions: Critical, unclassified production-blocking bugs. Translations, trivial changes, such as typos or broken links.
- Before starting work, confirm there is an open issue for the task and that it is labeled
-
Code style & formatting
- Always format code and optimize imports.
- Follow existing naming and style conventions. Don't introduce a new style.
- Prefix any new icon with
ic_, use white vector drawables.
-
Commit messages
- Use clear, descriptive commit messages.
- Prefer conventional commits.
-
Theming & accessibility testing
- Test UI changes on all themes (Light, Dark, Black & White, System default on Android 12+) and with the largest system font size.
-
CI and quality gates
- Ensure all CI checks pass (build, tests, lint, detekt, etc.) on your pull request.
-
Completeness & readiness
- PRs must be well-researched, thoroughly tested, and production-ready.
- No bare-bones or incomplete PRs.
-
Build configuration
- Changes to build configuration, dependencies, or target SDK versions require explicit prior approval.
Notes:
- Most pull requests will be squash merged unless they contain atomic changes worth preserving.
- AI-generated pull requests will likely be rejected.
The best and preferred way to contribute translations is via Weblate.
- Contribute on Weblate: https://hosted.weblate.org/projects/fossify/
If you prefer to work directly on GitHub, you can follow the instructions below.
Click for GitHub translation instructions
- Log in to GitHub and navigate to the target language file (e.g.,
app/src/main/res/values-es/strings.xml). - Click the pencil icon to edit the file.
- Modify only the text between
>and</string>. Do not change thename="..."attribute or any comments. - Escape any apostrophes with a backslash (
\'). - Add a clear commit message (e.g., "Update Spanish strings").
- Click Propose file change, then Create pull request.
- Log in to GitHub and navigate to
app/src/main/resin the app's repository. - Click Create new file.
- In the path box, type the folder path
values-<language_code>/(e.g.,values-de/for German). - Name the file
strings.xml. - Copy the entire contents of the default
app/src/main/res/values/strings.xmlinto your new file. - Translate the strings, making sure to escape apostrophes (
\'). - Add a clear commit message (e.g., "Add German translations").
- Press Propose new file, then Create pull request.