Skip to content

Contributing

Anjishnu Nandi edited this page Jan 15, 2026 · 3 revisions

Thank you for your interest in contributing to Rhythm! We welcome contributions from the community. This document provides guidelines and information for contributors.

How to Contribute

Reporting Issues

  • Use the GitHub Issues to report bugs or request features
  • Provide detailed information including:
    • Android version
    • Device model
    • Steps to reproduce
    • Expected vs actual behavior
    • Screenshots/logs if applicable

Code Contributions

  1. Fork the repository on GitHub
  2. Clone your fork locally
  3. Create a feature branch from main
  4. Make your changes following the coding standards
  5. Test your changes thoroughly
  6. Commit your changes with clear, descriptive messages
  7. Push to your fork
  8. Create a Pull Request with a clear description

Development Setup

  1. Ensure you have Android Studio Arctic Fox or later
  2. Clone the repository
  3. Open the project in Android Studio
  4. Build and run the app on a device/emulator

Coding Standards

  • Follow Kotlin coding conventions
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Follow the existing code style and architecture patterns
  • Write tests for new features

Commit Messages

Use conventional commit format:

type(scope): description

[optional body]

[optional footer]

Types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • style: Code style changes
  • refactor: Code refactoring
  • test: Testing
  • chore: Maintenance

Pull Request Guidelines

  • Provide a clear description of the changes
  • Reference any related issues
  • Ensure all tests pass
  • Update documentation if needed
  • Keep PRs focused on a single feature/fix

Testing

  • Test on multiple Android versions (API 26+)
  • Test on different screen sizes
  • Verify audio playback functionality
  • Check for memory leaks and performance issues

Code of Conduct

This project follows a code of conduct to ensure a welcoming environment for all contributors. See CODE_OF_CONDUCT.md for details.

License

By contributing to this project, you agree that your contributions will be licensed under the same license as the project (GNU General Public License v3.0).

Questions?

If you have questions about contributing, feel free to:

Thank you for contributing to Rhythm! 🎵

Clone this wiki locally