First off, thank you for considering contributing to Upnext! It's people like you that make the open source community such an amazing place to learn, inspire, and create.
Bugs are tracked as GitHub Issues. Create an issue on the repository and provide as much detail as possible:
- Use a clear and descriptive title.
- Describe the exact steps to reproduce the problem.
- Provide screenshots or screen recordings if possible.
Enhancement suggestions are also tracked as GitHub Issues.
- Explain why this enhancement would be useful.
- Mockups or design ideas are highly encouraged.
- Fork the repo on GitHub.
- Clone the project to your own machine.
- Create a branch for your feature or bugfix (
git checkout -b feature/amazing-feature). - Commit your changes to your own branch.
- Push your work back to your fork.
- Submit a Pull Request so that we can review your changes.
We strive to keep the codebase clean and consistent.
- Kotlin Only: All new code must be written in Kotlin.
- Ktlint: We use
ktlintto enforce code style. Please run the formatter before committing:./gradlew ktlintFormat
- Architecture: Please adhere to the existing Clean Architecture + MVVM patterns. UI logic belongs in ViewModels, business logic in UseCases/Interactors.
- Please add unit tests for any new logic (especially for ViewModels and Repositories).
- Run local tests to ensure no regressions:
./gradlew testDebugUnitTest
By contributing, you agree that your contributions will be licensed under its MIT License.