Skip to main content
Version: 0.2.0

Contributing to OSUI

We welcome and appreciate contributions from the community! Whether it's reporting bugs, suggesting features, improving documentation, or submitting code, your help makes OSUI better for everyone.

How to Contribute

1. Report Bugs

If you find a bug, please open an issue on our GitHub repository. When reporting a bug, please include:

  • A clear and concise description of the bug.
  • Steps to reproduce the behavior.
  • Expected behavior.
  • Actual behavior.
  • Your OSUI version, Rust version, and operating system.
  • Any relevant code snippets or error messages.

2. Suggest Features

Have an idea for a new feature or improvement? Feel free to open an issue on GitHub to discuss it. Please provide:

  • A clear and concise description of the proposed feature.
  • Why you think it would be valuable to OSUI.
  • Any potential use cases or examples.

3. Improve Documentation

Good documentation is vital for any library. If you find errors, omissions, or areas that could be explained more clearly in our docs, please consider:

  • Opening an issue to point out the specific area.
  • Submitting a pull request with your suggested improvements.

4. Contribute Code

If you'd like to contribute code, here's the general workflow:

Fork the Repository

First, fork the osui-rs/osui repository to your own GitHub account.

Clone Your Fork

git clone https://github.com/YOUR_USERNAME/osui.git
cd osui

Create a New Branch

Create a new branch for your feature or bug fix. Use a descriptive name:

git checkout -b feature/my-awesome-feature
# or
git checkout -b bugfix/fix-rendering-issue

Make Your Changes

  • Write clean, idiomatic Rust code.
  • Follow existing code style and conventions.
  • Add comments where necessary to explain complex logic.
  • Write Tests: If you're adding new features or fixing bugs, please include appropriate unit and/or integration tests to cover your changes.
  • Update Documentation: If your changes affect the public API or add new functionality, please update the relevant documentation files.

Run Tests

Before submitting a pull request, ensure all existing tests pass and your new tests pass:

cargo test --workspace

Format and Lint

Make sure your code is formatted correctly and passes lint checks:

cargo fmt --all
cargo clippy --all-targets --all-features

Commit Your Changes

Commit your changes with clear and concise commit messages. A good commit message explains what changed and why.

git commit -m "feat: Add new awesome feature"
# or
git commit -m "fix: Resolve rendering issue on Windows"

Push to Your Fork

git push origin feature/my-awesome-feature

Create a Pull Request

Go to the osui-rs/osui repository on GitHub and open a new pull request.

  • Provide a clear title and description for your pull request.
  • Reference any related issues (e.g., "Fixes #123" or "Closes #456").
  • The project maintainers will review your PR, provide feedback, and work with you to get it merged.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.

Thank you for considering contributing to OSUI! Your efforts help foster a vibrant and robust TUI ecosystem in Rust.