Files
cull-gmail/CONTRIBUTING.md
Jeremiah Russell c915e89e25 📝 docs(guide): add CONTRIBUTING.md
- 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
2025-09-29 22:28:57 +01:00

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

  1. Fork the repository and create your branch from main
  2. Make your changes, following the coding standards below
  3. Add tests if applicable
  4. Ensure all tests pass by running cargo test
  5. Update documentation as needed
  6. Format your code with cargo fmt
  7. Run the linter with cargo clippy
  8. Commit your changes with clear, descriptive commit messages
  9. 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 fmt to format code
  • Ensure cargo clippy passes 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!