Thank you for your interest in contributing to Omnivox UI Optimizer! This document provides guidelines and instructions for contributing.
-
Prerequisites
- Node.js (v18 or higher)
- PNPM package manager
- A userscript manager (Violentmonkey recommended)
-
Local Development
# Clone the repository git clone https://github.com/evannotfound/omnivox-optimizer.git cd omnivox-optimizer # Install dependencies pnpm install # Start development server pnpm dev
The development server will run on
localhost:8080. Install the development version of the script through your userscript manager.
src/: Source codemodules/: Feature moduleslea/: LEA-specific features
styles/: Stylus stylesheets
dist/: Built fileswebpack.config.js: Webpack configurationuserscript.config.js: Userscript metadata configuration
-
Commit Messages We use conventional commits. Each commit message should be structured as follows:
<type>: <description> [optional body] [optional footer]Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changesrefactor: Code refactoringperf: Performance improvementstest: Adding or modifying testschore: Maintenance tasks
-
Code Style
- Use meaningful variable and function names
- Comment complex logic
- Keep functions focused and small
- Use modern JavaScript features
- Make your changes and commit them using conventional commit messages
- Run one of the following commands based on the type of change:
pnpm release:patch # For bug fixes pnpm release:minor # For new features pnpm release:major # For breaking changes
- Push your changes and the new tag:
git push --follow-tags origin main
- GitHub Actions will automatically create a release with the built files
Before submitting a pull request:
- Test your changes locally
- Ensure the script works in both development and production modes
- Test on different pages of Omnivox
- Verify that existing features still work
- Fork the repository
- Create a new branch for your feature/fix
- Make your changes
- Submit a pull request with a clear description of the changes
- Wait for review and address any feedback
If you have questions or run into problems, please open an issue on GitHub.
By contributing to Omnivox UI Optimizer, you agree that your contributions will be licensed under the GPL-3.0 License.