Thank you for considering contributing to Deadlock API! This document provides guidelines and instructions for contributing to the project.
By participating in this project, you agree to maintain a respectful and inclusive environment for everyone.
If you find a bug, please create an issue with the following information:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Any relevant logs or screenshots
- Your environment (OS, Rust version, etc.)
We welcome feature suggestions! Please create an issue with:
- A clear, descriptive title
- A detailed description of the proposed feature
- Any relevant examples or mockups
- The motivation behind the feature
- Fork the repository
- Create a new branch (
git checkout -b feature/my-feature) - Make your changes
- Run tests and ensure they pass (
cargo test) - Format your code (
cargo fmt) - Run linting checks (
cargo clippy) - Commit your changes (
git commit -am 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Create a new Pull Request
- Install Rust (stable toolchain)
- Install Protocol Buffers compiler
- Clone the repository
- Copy
.env.exampleto.envand configure as needed - Run
cargo buildto build the project
- Follow the Rust API Guidelines
- Use
cargo fmtto format your code - Use
cargo clippyto check for common mistakes and improve code quality
- Document public API functions, structs, and traits
- Keep documentation up-to-date with code changes
- Use examples where appropriate
- Write tests for new features and bug fixes
- Ensure all tests pass before submitting a PR
- Consider edge cases in your tests
- Use clear, descriptive commit messages
- Start with a verb in the present tense (e.g., "Add", "Fix", "Update")
- Reference issue numbers when applicable
- All PRs will be reviewed by at least one maintainer
- Feedback may be provided for changes or improvements
- Once approved, a maintainer will merge your PR
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.
Thank you for contributing to Deadlock API!