Thank you for your interest in contributing to OverKeys! We welcome contributions from the community to help improve this open-source keyboard layout visualizer. Whether you're fixing bugs, adding features, improving documentation, or suggesting ideas, your help is greatly appreciated.
There are many ways you can contribute to OverKeys:
- Code Contributions: Fix bugs, implement new features, or improve existing functionality
- Documentation: Improve docs, add tutorials, or update old instructions
- Testing: Report bugs or verify fixes and new features in nightly builds
- Design: Suggest UI/UX improvements
- Community Support: Help other users in discussions or issues
Before you begin, ensure you have the following installed:
-
Fork the Repository
-
Click the "Fork" button at the top of this repository
-
Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/OverKeys.git cd OverKeys
-
-
Set Up the Development Environment
-
Install dependencies:
flutter pub get
-
Run the app for testing:
flutter run -d windows
-
-
Create a Feature Branch
-
Create and switch to a new branch:
git checkout -b feat/your-feature-name
-
Use descriptive branch names (e.g.,
feat/add-dark-theme,fix/keyboard-layout-bug,docs/update-installation-guide)
-
For detailed build instructions:
# For testing
flutter run -d windows
# For release build
flutter build windowsThe release executable will be located at build\windows\x64\runner\Release.
To maintain code quality and consistency:
- Follow Dart's effective Dart guidelines
- Use meaningful variable and function names
- Add comments for complex logic
- Write clear commit messages following conventional commits
- Ensure your code passes
flutter analyze
Use the following format for commit messages:
type(scope): description
[optional body]
[optional footer]
Types:
feat: New featuresfix: Bug fixesdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Examples:
feat: add support for custom keyboard themesfix: resolve crash when loading invalid layout filedocs: update installation guide for Windows 11
-
Run tests before submitting changes:
flutter test -
Add tests for new features when possible
-
Ensure all existing tests pass
-
Commit Your Changes
git add . git commit -m "feat: add your feature description"
-
Push to Your Fork
git push origin feat/your-feature-name
-
Create a Pull Request
- Go to the original repository
- Click "New Pull Request"
- Select your branch and provide a clear description
- Reference any related issues
- Provide a clear title and description
- Reference related issues (e.g., "Fixes #123")
- Include screenshots for UI changes
- Ensure CI checks pass
- Request review from maintainers
Found a bug or have a feature request? Please:
- Check existing issues first
- Use the appropriate issue template (bug report or feature request)
- Provide detailed information:
- Steps to reproduce
- Expected vs. actual behavior
- System information (OS, Flutter version, etc.)
- Screenshots if applicable
We are committed to providing a welcoming and inclusive environment for all contributors. Please read our Code of Conduct to understand our expectations for behavior and how to report issues.
We appreciate all contributions! Check out our top contributors:
If you have questions about contributing, feel free to:
- Open a discussion
- Contact the maintainer directly via email
Thank you for contributing to OverKeys! 🚀