Thank you for your interest in contributing to rust-expect! This document provides guidelines and information for contributors.
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
- Use the GitHub issue tracker
- Search existing issues before creating a new one
- Provide detailed reproduction steps
- Include Rust version and OS information
- Fork the repository
- Create a feature branch from
main - Make your changes
- Add or update tests as needed
- Run the full test suite
- Submit a pull request
# Clone your fork
git clone https://github.com/YOUR_USERNAME/rust-expect.git
cd rust-expect
# Build the project
cargo build --workspace --all-features
# Run tests
cargo test --workspace --all-features
# Run clippy
cargo clippy --workspace --all-features
# Format code
cargo fmt --all- Follow the Rust API Guidelines
- Use
rustfmtfor formatting - Address all
clippywarnings - Write documentation for public APIs
- Include examples in documentation where helpful
- Write unit tests for new functionality
- Add integration tests for complex features
- Test edge cases and error conditions
- Ensure tests pass on Linux and macOS
- Update README if adding new features
- Add doc comments to public items
- Include examples in doc comments
- Update CHANGELOG for notable changes
Use Conventional Commits:
feat:New featuresfix:Bug fixesdocs:Documentation changestest:Test additions/changesrefactor:Code refactoringchore:Maintenance tasks
By contributing, you agree that your contributions will be licensed under the same terms as the project (MIT OR Apache-2.0).