Contributing
Sossoldi is built by volunteers. Code, design, translations, documentation and bug reports all move the project forward.
Before you start #
- Bugs and ideas go to GitHub Issues. Search first: a duplicate is closed, not fixed.
- Questions and open-ended proposals go to GitHub Discussions, where the roadmap is discussed.
- Chat happens on Discord. It is the fastest place to ask whether a change is wanted before writing it.
The three guides #
- Coding style — Dart conventions, file layout and commit messages.
- Pull request guide — fork, branch, checks and review, step by step.
- Widget list — the shared widgets the app is built from.
What a good pull request looks like #
- One change, one branch. Create it from
upstream/main, not from an old local branch. - Run the checks locally:
dart run build_runner build --delete-conflicting-outputs,dart format,flutter analyze,flutter test --concurrency=1. The CI runs the same commands. - Say what you tested. A screenshot or a short clip of the app is worth more than a paragraph.
- Keep the description honest. If something is not covered, write it instead of leaving the reviewer to find it.
Non-code contributions #
- Design: the app is designed in Figma with the community; ask on Discord before starting a new screen.
- Translations: the app is being localised; Italian and Portuguese are the first languages. The repository documents the
.arbworkflow. - Documentation: these pages live in
sossoldi-website. A factual correction is a pull request like any other. - Testing on devices: reports on a device we do not own are genuinely useful, as long as they include the version, the OS and the steps.
Licence #
Sossoldi is released under the MIT licence. By opening a pull request you agree that your contribution is distributed under the same terms.