Thank you for your interest in contributing to globalsearch-rs! Your help is greatly appreciated in making this project better. Below are the guidelines for contributing.
-
Report Bugs & Request Features
If you find a bug or have a feature request, please open an issue and use the appropriate labels (e.g., "bug", "enhancement").
Provide a clear and concise description of the problem or feature.
Include relevant error messages, logs, and steps to reproduce (if applicable).
-
Fork & Clone the Repository
Fork the repository on GitHub and clone it to your local machine:
git clone https://github.com/[your-username]/globalsearch-rs.git cd globalsearch-rs -
Create a Feature Branch
Follow the convention: feature/short-description or bugfix/short-description
git checkout -b feature/new-feature
-
Make Your Changes
Implement your feature or bugfix following best practices.
Ensure the code is well-structured and follows Rust’s idiomatic conventions.
If applicable, update documentation and comments.
-
Run Tests & Format Code
Ensure your code passes all tests:
cargo testFormat your code before committing:
cargo fmt cargo clippy
-
Commit and Push
Write clear and concise commit messages:
git commit -m "Add feature: brief description" git push origin feature/new-feature -
Create a Pull Request
Navigate to your GitHub fork and click "New Pull Request".
Provide a clear description of your changes and reference related issues if applicable.
Request a review from maintainers.
-
Follow Rust's best practices and idioms.
-
Use
cargo fmtfor formatting (defaultcargofmt.toml). -
Run
cargo clippyto catch warnings and inefficiencies.
Write clear, concise comments where necessary.
Add cargo doc comments to public functions and structs.
If a new feature is added, update the relevant documentation.
Add tests for new functionality whenever possible.
Run cargo test to verify the tests. Ensure that your changes do not reduce the number of passing tests.
Join discussions on issues and pull requests.
If you need help, feel free to ask by opening a new issue.
By contributing, you agree that your contributions will be licensed under the same MIT License as the project.
Thank you for contributing!