Thank you for your interest in contributing to Mic-Lock! We welcome contributions from the community and appreciate your help in making this project better.
By participating in this project, you agree to maintain a respectful and inclusive environment for all contributors. Please be kind, professional, and constructive in all interactions.
We welcome contributions from everyone, and you don't need to be a developer to help! Some of the most valuable contributions come from users who help us understand how the app works on different devices.
Here are the best ways to get involved:
- Report a Bug: Help us find and fix issues by creating a detailed Bug Report.
- Submit a Device Compatibility Report: Let us and other users know how MicLock performs on your device by filling out our Device Compatibility Report. This is incredibly helpful for new users.
- Suggest a New Feature: Share your ideas for improving the app by creating a Feature Request.
- Improve Documentation: If you see a typo, find something confusing, or have an idea to improve our guides, please open an issue or submit a pull request with your changes.
If you're a developer looking to contribute code, that's fantastic! Please follow the process outlined below, starting with the development setup.
If you encounter a bug, please help us fix it by providing detailed information:
- Use the Bug Report template when creating a new issue
- Include device information: Device model, Android version, app version
- Describe the problem: What you expected vs. what actually happened
- Steps to reproduce: Clear, step-by-step instructions
- Logs if possible: Any relevant error messages or logs
We welcome new feature ideas! When suggesting a feature:
- Use the Feature Request template when creating a new issue
- Describe the problem: What issue would this feature solve?
- Propose a solution: How do you envision this feature working?
- Consider alternatives: Are there other ways to solve this problem?
- Additional context: Any other relevant information
- Android Studio (latest stable version)
- Android SDK with API 24+ support
- Git
-
Clone the repository:
git clone https://github.com/yourusername/mic-lock.git cd mic-lock -
Open in Android Studio:
- Open Android Studio
- Select "Open an existing Android Studio project"
- Navigate to the cloned repository folder
-
Build the project:
./gradlew build
-
Run tests:
./gradlew test ./gradlew connectedAndroidTest
- Fork the repository and create your feature branch from
main - Make your changes following the coding guidelines below
- Add tests for any new functionality
- Ensure all tests pass locally before submitting
- Write clear commit messages describing your changes
- Submit a pull request with a clear title and description
- Follow Kotlin conventions: Use standard Kotlin coding style
- Add KDoc comments: Document public methods and complex logic
- Write tests: Include unit tests for new functionality
- Keep commits focused: Each commit should represent a single logical change
- Use descriptive commit messages: Follow the format "Type: Brief description"
Type: Brief description of the change
Optional longer description explaining the change in more detail,
including motivation and context.
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Since Mic-Lock addresses specific hardware issues, testing on real devices is crucial:
- Primary test device: Google Pixel 7 Pro (confirmed working)
- Report compatibility: Use the Device Compatibility Report template to share results from other devices
- Include device details: Model, Android version, microphone configuration
If you have questions about contributing, feel free to:
- Open an issue with the question label
- Check existing issues and discussions
- Review the DEV_SPECS.md for technical details
Thank you for contributing to MicLock!