Thank you for your interest in contributing to WhyMe! This document provides guidelines and instructions for contributing.
- Be respectful and inclusive
- Welcome newcomers and help them get started
- Focus on constructive feedback
- Be patient with questions
- Check if the bug has already been reported in Issues
- If not, create a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Platform and version information
- Relevant logs or error messages
- Check existing Issues and Discussions
- Open a new issue or discussion with:
- Clear description of the feature
- Use case and motivation
- Potential implementation approach (if you have ideas)
-
Fork the repository
-
Create a branch:
git checkout -b feature/your-feature-name # or git checkout -b fix/bug-description -
Make your changes:
- Write clear, documented code
- Follow Rust conventions (
cargo fmt,cargo clippy) - Add tests if applicable
- Update documentation
-
Test your changes:
cargo test cargo clippy cargo fmt --check -
Commit your changes:
git commit -m "Add: feature description" # Use prefixes: Add, Fix, Update, Remove, Refactor, Docs
-
Push and create a Pull Request:
git push origin feature/your-feature-name
- Follow Rust standard formatting:
cargo fmt - Run clippy:
cargo clippy -- -D warnings - Use meaningful variable and function names
- Add comments for complex logic
- Keep functions focused and small
- Add unit tests for new functionality
- Test on your platform before submitting
- If possible, test on multiple platforms
- Document any platform-specific behavior
- Update README.md if adding features
- Add inline comments for complex logic
- Update this file if changing contribution process
- Ensure your code compiles and tests pass
- Update documentation as needed
- Write a clear PR description:
- What changes were made
- Why the changes were needed
- How to test the changes
- Reference any related issues
- Wait for review and address feedback
Feel free to:
- Open a discussion for questions
- Ask in an issue thread
- Reach out to maintainers
Thank you for contributing! 🎉