Repository navigation
Development
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. The short version is below, and the full guide, including how the pull request template drives labels and why not to run a project-wide formatter, is CONTRIBUTING.md in the repository.
- 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