Thank you for considering contributing to Music Sharity! This project is open-source under GPL v3, and contributions are welcome.
Be respectful, constructive, and keep discussions on-topic.
- iOS/macOS support - Testing, TestFlight builds, App Store submission (requires Mac + Xcode)
- Linux packaging - AppImage, Snap, Flatpak
- New platforms - Amazon Music, SoundCloud, Pandora, etc.
- Bug fixes
- Various optimizations
- Translations / i18n
- Documentation improvements
Requirements: Flutter 3.38+, Dart 3.10+
git clone https://github.com/byteroast/music-sharity.git
cd music-sharity
flutter pub get
flutter runlib/
├── main.dart # Entry point
├── models/ # Data models
├── pages/ # UI screens
├── services/ # API services, business logic
├── utils/ # Utility functions
├── widgets/ # Reusable widgets
└── theme/ # App theming
All PRs should target the dev/main branch.
feature/descriptionfor new featuresfix/descriptionfor bug fixes
dart format .
flutter analyzeUse conventional commits: feat:, fix:, docs:, refactor:, chore:
Example: feat: add Amazon Music platform support
Include what you changed, why, and how you tested it. Add screenshots for UI changes.
Follow Effective Dart. Key points:
- Meaningful names, small focused functions
- Proper error handling and null safety
- Comments explain why, not what
- Prefer
async/awaitover.then()chains
Check existing issues first. Include:
- Steps to reproduce
- Expected vs actual behavior
- Environment (OS, app version, device)
- Screenshots if relevant
Before submitting, check if it aligns with the project's privacy-first goals and would benefit most users.
Contributors are acknowledged in the README and release notes.
Open an issue or start a discussion on GitHub.