# Contributing to RSwarm Hey there! We're thrilled that you're considering contributing to RSwarm. Whether you're here to report a bug, suggest a feature, or dive into the code, your input is invaluable. Let's walk through how you can get involved. #### **Submitting Issues** Got a bug to report or a feature to suggest? Head over to our [issues page](https://github.com/your-repo/issues). When you do, try to be as detailed as possible. Think of it like telling a friend about a movie you just watched—details make all the difference! Include steps to reproduce the issue, expected vs. actual behavior, and any relevant logs or screenshots. #### **Pull Requests** Ready to roll up your sleeves and code? Awesome! Here's a quick guide: 1. **Fork the Repository**: Start by forking the repo. This gives you your own copy to work with. 2. **Clone Your Fork**: Use `git clone` to get the code on your machine. 3. **Create a Branch**: Before you start coding, create a new branch with a descriptive name, like `fix-typo-in-readme`. 4. **Code Away**: Make your changes. Remember, it's okay to make mistakes—it's all part of the process. 5. **Test Your Changes**: Run the tests to ensure everything works. If you're adding a feature, consider writing new tests. 6. **Document Your Work**: Update the documentation if your changes affect it. Clear docs are like a good map—they help everyone find their way. 7. **Submit a Pull Request**: Once you're happy with your changes, submit a pull request. We'll review it and provide feedback. #### **Coding Standards** We like to keep our code clean and consistent. Here are a few guidelines: - **Style**: Follow Rust's standard style. Use `rustfmt` to format your code. - **Comments**: Comment your code where necessary. Think of comments as little notes to your future self (or others). - **Naming**: Use descriptive names for variables and functions. It’s like naming a pet—you want it to be meaningful. #### **Testing** Testing is crucial. It’s like checking your work before turning it in. We use `cargo test` for our tests. If you're adding a feature or fixing a bug, add or update tests to cover your changes. #### **Documentation** Good documentation is like a good story—it guides the reader. If your changes affect the public API, update the relevant documentation. Use `///` for public items and `//` for internal notes. #### **A Few Personal Thoughts** Contributing to open source can be daunting, but remember, every contribution counts. Whether it's a typo fix or a major feature, your work is appreciated. And hey, if you ever feel stuck, don't hesitate to ask for help. We're all learning here. #### **Final Thoughts** Thank you for considering contributing to RSwarm. Your efforts help make this project better for everyone. We can't wait to see what you'll bring to the table. Happy coding! --- Feel free to reach out if you have any questions or need guidance. We're here to help!