Contributing to OSUI
We welcome contributions to OSUI! Whether it's reporting bugs, suggesting features, improving documentation, or submitting code, your help is valuable. This guide outlines the process for contributing.
How to Contribute
- Report Bugs: If you find a bug, please open an issue on the GitHub repository. Provide a clear description of the bug, steps to reproduce it, and your environment (OS, Rust version, terminal emulator).
- Suggest Features: Have an idea for a new feature or improvement? Open an issue on GitHub to discuss it.
- Improve Documentation: Spotted a typo, unclear explanation, or missing example? Feel free to submit a pull request with your changes, or open an issue.
- Submit Code (Pull Requests): If you'd like to contribute code, follow the guidelines below.
Code Contribution Guidelines
- Fork the Repository: Start by forking the OSUI GitHub repository.
- Clone Your Fork:
git clone https://github.com/your-username/osui.git
cd osui - Create a New Branch: Create a descriptive branch for your changes.
git checkout -b feature/my-new-feature
# or
git checkout -b bugfix/fix-some-bug - Make Your Changes:
- Code Style: Adhere to the existing Rust code style. Run
cargo fmt
before committing. - Clippy: Ensure your code passes Clippy lints:
cargo clippy --all-targets --all-features -- -D warnings
. - Tests: If you're adding new functionality, please include unit tests. If fixing a bug, consider adding a regression test.
- Documentation: Update relevant documentation (API reference, guides) for any new features or changes. Add comments to your code where necessary.
- Examples/Demos: If your feature adds significant new functionality, consider adding a small example to the
src/demos
directory.
- Code Style: Adhere to the existing Rust code style. Run
- Commit Your Changes: Write clear, concise commit messages.
git commit -m "feat: Add new awesome feature"
- Push to Your Fork:
git push origin feature/my-new-feature
- Open a Pull Request:
- Go to the OSUI repository on GitHub.
- You should see a prompt to open a pull request from your recently pushed branch.
- Provide a clear title and description for your pull request. Explain what problem it solves and how.
- Reference any related issues (e.g.,
Fixes #123
,Closes #456
).
- Review Process:
- Project maintainers will review your pull request.
- Be prepared to address feedback and make further changes if requested.
- Once approved, your changes will be merged into the
master
branch.
Development Environment Setup
- Rust Toolchain: Make sure you have a recent stable Rust toolchain installed.
rustup update
- Dependencies: Ensure all project dependencies are installed by running
cargo build
. - Testing: Run tests with
cargo test
. - Linting: Use
cargo clippy --all-targets --all-features -- -D warnings
to check for common code issues. - Formatting: Use
cargo fmt
to automatically format your code according to Rust's standard style.
Thank you for considering contributing to OSUI! Your efforts help make this project better for everyone.