Thank you for your interest in contributing to AudioKeeper! 🎧
- Use the GitHub issue tracker
- Include macOS version and AudioKeeper version
- Provide steps to reproduce the issue
- Attach relevant logs or screenshots
- Open an issue with the "enhancement" label
- Describe the feature and its use case
- Consider if it aligns with the app's core purpose
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Make your changes
- Test thoroughly on different macOS versions
- Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- macOS 13.0+
- Xcode 14.0+
- Git
# Clone your fork
git clone https://github.com/yourusername/AudioKeeper.git
cd AudioKeeper
# Open in Xcode
open AudioKeeper.xcodeproj
# Build and test
# Press Cmd + R in Xcode- Follow Swift API Design Guidelines
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions focused and small
- Keep the existing folder structure
- Place new files in appropriate directories
- Update documentation when adding features
- Test on multiple macOS versions (13.0+)
- Test with different audio devices
- Ensure no memory leaks
- Verify menu bar behavior
- Connect/disconnect audio devices
- Change system audio settings manually
- Restart the application
- Test with different user preferences
- Update README.md for new features
- Update project documentation
- Include code comments
- Keep documentation in
AudioKeeper/Documentation/ - Use clear, concise language
- Include examples where helpful
- Update version in
Info.plist - Update version in documentation
- Create a release tag
- List new features
- Mention bug fixes
- Include breaking changes (if any)
- Provide upgrade instructions
- Code follows project style
- Tests pass on your machine
- Documentation is updated
- No breaking changes (or clearly documented)
- Commit messages are clear
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Performance improvement
## Testing
- [ ] Tested on macOS 13.0+
- [ ] Tested with multiple audio devices
- [ ] No memory leaks detected
## Screenshots (if applicable)
Add screenshots for UI changesbug: Something isn't workingenhancement: New feature or requestdocumentation: Documentation improvementshelp wanted: Extra attention is neededgood first issue: Good for newcomerspriority: high: High priority issues
- Use GitHub Issues for bug reports and feature requests
- Use GitHub Discussions for questions and general discussion
- Be respectful and constructive in all communications
By contributing, you agree that your contributions will be licensed under the MIT License.
Contributors will be recognized in:
- README.md acknowledgments
- Release notes
- GitHub contributors list
Thank you for helping make AudioKeeper better! 🎧✨