-
Notifications
You must be signed in to change notification settings - Fork 112
Development
RadicalMuffinMan edited this page Sep 23, 2026
·
2 revisions
How to work on Moonfin and get changes merged. For setting up a build, see Building from Source.
- Use Flutter stable and keep dependencies up to date. Releases are built with the version pinned in
.github/workflows/build.yml, see Building from Source - Validate changes with
flutter analyzeandflutter testbefore PRs - Test playback and navigation flows on at least one target platform
- Prefer small, focused commits for easier review
We welcome contributions to Moonfin.
- Check existing issues before opening new ones.
- Discuss major feature changes before implementation.
- Follow existing code style and project conventions.
- Test your changes on relevant platforms.
- Keep PR scope focused and clearly documented.
- Fork the repository.
- Create a branch (
git checkout -b feature/your-change). - Implement and test your changes.
- Run static checks (
flutter analyze) and the tests (flutter test). - Open a PR against
mainwith context, screenshots/logs when useful, and test notes.
Every pull request to main builds all platforms and runs the analyzer and the test suites in CI. A bot comment on the PR shows how each part went and updates itself with every new commit, so check it before asking for a review.
Moonfin translations are managed on Weblate at translate.moonfin.io. Translation files under lib/l10n/ are owned by Weblate, so translated strings should be changed there rather than edited directly in a pull request.
Using Moonfin
Going deeper
For developers