- introduce guidelines for contributing to cull-gmail - include sections on code of conduct, how to contribute, and development setup - provide coding standards, commit message conventions, and testing requirements - explain licensing terms for contributions under MIT License
3.2 KiB
3.2 KiB
Contributing to cull-gmail
Thank you for your interest in contributing to cull-gmail! We welcome contributions from the community and appreciate your help in making this project better.
Code of Conduct
By participating in this project, you agree to maintain a respectful and inclusive environment for all contributors.
How to Contribute
Reporting Bugs
If you find a bug, please open an issue on GitHub with:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behaviour vs actual behaviour
- Your environment (OS, Rust version, etc.)
- Any relevant error messages or logs
Suggesting Features
Feature requests are welcome! Please open an issue describing:
- The problem you're trying to solve
- Your proposed solution
- Any alternative solutions you've considered
Pull Requests
- Fork the repository and create your branch from
main - Make your changes, following the coding standards below
- Add tests if applicable
- Ensure all tests pass by running
cargo test - Update documentation as needed
- Format your code with
cargo fmt - Run the linter with
cargo clippy - Commit your changes with clear, descriptive commit messages
- Submit a pull request with a description of your changes
Development Setup
# Clone your fork
git clone https://github.com/your-username/project-name.git
cd project-name
# Build the project
cargo build
# Run tests
cargo test
# Format code
cargo fmt
# Run linter
cargo clippy
Coding Standards
- Follow the official Rust Style Guide
- Use
cargo fmtto format code - Ensure
cargo clippypasses without warnings - Write clear, self-documenting code with appropriate comments
- Add documentation comments for public APIs
- Keep functions focused and reasonably sized
- Write tests for new functionality
Commit Messages
- Use clear, descriptive commit messages
- Use conventional commits
- Start with a verb in the present tense (e.g., "Add", "Fix", "Update")
- Keep the first line under 50 characters
- Add a detailed description if necessary
Testing
- Write unit tests for new functionality
- Ensure all existing tests pass
- Aim for meaningful test coverage
- Test edge cases and error conditions
Documentation
- Update the README if your changes affect usage
- Add inline documentation for public APIs
- Include examples in doc comments where helpful
PRLOG and CHANGELOG
- The Pull Request log is updated automatically by CI.
- The Changelog is generated automatically from relevant conventional commits by CI
License
By contributing to cull-gmail, you agree that your contributions will be licensed under the MIT License. This means:
- You grant permission for your contributions to be used, modified, and distributed under the terms of the MIT License
- You confirm that you have the right to submit the code under this license
- You understand that your contributions will become part of the project and available to all users under the MIT License
Questions?
If you have questions about contributing, feel free to open an issue or reach out to the maintainers.
Thank you for contributing!