Thank you for considering contributing to Kameo! We welcome all contributions, whether they are bug reports, new features, improvements to documentation, or anything else that can help improve the project.
Please take a moment to review the guidelines below to ensure that your contributions are in line with the project’s standards.
If you've found a bug or an issue with Kameo, we would appreciate if you could:
- Search Existing Issues: Please check the issues page to see if your bug has already been reported. If it has, feel free to add additional information as a comment.
- Create a New Issue: If the issue hasn’t been reported, create a new issue with the following details:
- A clear title describing the bug.
- Steps to reproduce the bug.
- Expected behavior and what actually happened.
- Relevant environment details (OS, Rust version, etc.).
- Any other relevant information or screenshots.
We are always open to new ideas! If you have a feature or enhancement request, please:
- Search Existing Feature Requests: Look through the existing issues to see if someone has already suggested a similar feature.
- Open a New Feature Request: If your idea hasn’t been suggested yet, open a new issue describing:
- The motivation for the feature.
- How you envision the feature working.
- Any additional context or examples that would be helpful.
We welcome pull requests for bug fixes, new features, or improvements! Here’s how you can contribute:
-
Fork the Repository: Start by forking the repository and cloning it locally.
git clone https://github.com/tqwewe/kameo.git cd kameo
-
Create a New Branch: Always create a new branch for your changes.
git checkout -b my-feature-branch
-
Make Changes: Implement your changes, making sure your code follows the project’s style and is well-documented.
-
Test Your Changes: If applicable, run the tests to ensure your changes don’t break anything. Add new tests if you’ve added a new feature or fixed a bug.
cargo test
-
Use Conventional Commits: We follow the Conventional Commits specification for commit messages. This ensures that commit messages are structured and informative. The format is:
<type>[optional scope]: <description> [optional body] [optional footer(s)]
For example:
feat(actor): add support for remote actors fix(pubsub): resolve issue with message broadcasting
Common types include:
feat
: A new feature.fix
: A bug fix.docs
: Documentation-only changes.style
: Changes that do not affect the meaning of the code (formatting, missing semicolons, etc.).refactor
: A code change that neither fixes a bug nor adds a feature.test
: Adding or modifying tests.
If your changes introduce a breaking change, add an exclamation mark (
!
) after the type:feat(actor)!: change remote actor messaging system
Breaking changes should also be mentioned in the commit body or footer for clarity.
-
Commit and Push: Commit your changes with a meaningful message and push your branch.
git add . git commit -m "Description of changes" git push origin my-feature-branch
-
Create a Pull Request: Go to the GitHub page of your forked repo and click on “New Pull Request”. In your pull request, provide a detailed explanation of your changes, referencing the issue if applicable.
- Follow Rust’s Style: Ensure your code follows Rust’s conventions. You can use
cargo fmt
to automatically format your code. - Document Your Code: Ensure that all public items (functions, structs, modules) have proper Rustdoc comments.
- Write Tests: When adding new functionality, write tests to ensure the new code works as expected.
By contributing, you agree to abide by our Code of Conduct.
Thank you for contributing to Kameo! Your help makes this project better.