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
+1
orI need this too!
, as they do not add useful information. - If a bug is already reported and has the
needs triage
ordevice/software specific
labels, 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 not tagged
needs triage
. - Exceptions: Critical, unclassified production-blocking bugs. Trivial changes, such as typos or broken links.
- Before starting work, confirm there is an open issue for the task and that it is not tagged
-
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. - Always use braces, even for one-line
if
,return
, orcontinue
statements.
-
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 speculative PRs.
-
Build configuration
- Changes to build configuration, dependencies, or target SDK versions require explicit prior approval.
Note: Most pull requests will be squash merged unless they contain atomic changes worth preserving.
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/res
in 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.xml
into 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.