Contributing to Wox
Thank you for your interest in contributing to Wox! This document provides guidelines and instructions for contributing to the project.
Getting Started
Fork the Repository: Start by forking the Wox repository on GitHub.
Clone Your Fork: Clone your fork to your local machine.
bashgit clone https://github.com/YOUR-USERNAME/Wox.git cd WoxSet Up Development Environment: Follow the instructions in the Development Setup document to set up your development environment.
bashmake dev
Development Workflow
Branching Strategy
master: The main branch that contains the latest stable codefeature/*: Feature branches for new featuresbugfix/*: Bugfix branches for bug fixes
Making Changes
Create a Branch: Create a new branch for your changes.
bashgit checkout -b feature/your-feature-nameMake Your Changes: Implement your changes, following the coding standards and guidelines.
Test Your Changes: Run tests to ensure your changes don't break existing functionality.
bashmake testCommit Your Changes: Commit your changes with a clear and descriptive commit message.
bashgit commit -m "feat: add new feature"Please follow the Conventional Commits specification for your commit messages:
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that do not affect the meaning of the coderefactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testschore: Changes to the build process or auxiliary tools
Push Your Changes: Push your changes to your fork.
bashgit push origin feature/your-feature-nameCreate a Pull Request: Create a pull request from your branch to the main Wox repository.
Pull Request Guidelines
When creating a pull request, please:
- Provide a Clear Description: Describe what your changes do and why they should be included.
- Reference Related Issues: If your PR fixes an issue, reference it using the GitHub issue number.
- Include Tests: If your changes include new functionality, include tests that cover the new code.
- Update Documentation: If your changes require documentation updates, include those in your PR.
Code Style Guidelines
Go Code
- Follow the Go Code Review Comments
- Use
gofmtto format your code - Write meaningful comments and documentation
Flutter/Dart Code
- Follow the Dart Style Guide
- Use
dart formatto format your code - Write meaningful comments and documentation
JavaScript/TypeScript Code
- Follow the Airbnb JavaScript Style Guide
- Use ESLint to lint your code
- Write meaningful comments and documentation
Python Code
- Follow PEP 8
- Use
blackto format your code - Write meaningful comments and documentation
Testing
- Write unit tests for your code
- Run existing tests to ensure your changes don't break existing functionality
- Consider adding integration tests for complex features
Documentation
- Update documentation for any changes to existing features
- Add documentation for new features
- Use clear and concise language
Community
- Join the Wox Discussions to ask questions and get help
- Be respectful and considerate of others
Reporting Issues
If you find a bug or have a feature request, please:
- Check if the issue already exists in the GitHub Issues
- If not, create a new issue with a clear description and steps to reproduce
License
By contributing to Wox, you agree that your contributions will be licensed under the project's license.