Contributing ============ We're thrilled that you're interested in contributing to SWAT! Your efforts help make this tool more powerful and useful for the community. We designed SWAT with extensibility in mind, understanding that it might not meet the needs of every user out-of-the-box. Reporting Bugs ^^^^^^^^^^^^^^ 1. **Check Existing Issues**: Look through existing issues to ensure someone hasn't already reported your bug. 2. **Create a New Issue**: If your issue isn't already reported, open a `🐛 Bug Report `_ and provide all relevant details. Suggesting Enhancements ^^^^^^^^^^^^^^^^^^^^^^^ Open a `🔧 Feature Request/Update `_ if you have suggestions for new features or improvements. New Emulation Modules +++++++++++++++++++++ Share your emulation module ideas with us by opening an `🐍 Add New Emulation Module issue `_. To help you get started with developing a new module, we've prepared a `"add emulations" guide `_. New Command Modules +++++++++++++++++++ If you feel the current command set isn't enough, open an `➕ Adding a New Command Module `_ issue. For guidance on developing new commands, refer to our `"add commands" guide `_. Contributing Code ----------------- Getting Started +++++++++++++++ We created a dedicated `getting started guide `_ to help you get up and running with SWAT development. For more information on the SWAT codebase, refer to our `developer documentation `_. Making Changes ++++++++++++++ 1. **Write Code**: Adhere to our coding standards and guidelines. 2. **Write Tests**: Ensure your changes are verified with tests. 3. **Run Tests**: All tests should pass before you submit a pull request. 4. **Update Documentation**: Reflect your changes in the documentation, if necessary. Submitting a Pull Request +++++++++++++++++++++++++ 1. **Push Changes**: Upload your changes to your GitHub fork. 2. **Open a Pull Request**: Use the `Pull Requests tab `_ in the main repository to initiate a pull request from your branch. 3. **Describe Your Changes**: Offer a clear summary of what you've done. 4. **Wait for Review**: SWAT maintainers will review and provide feedback. 5. **Merge**: After approval, your changes will be merged. Recognition ^^^^^^^^^^^ Your hard work doesn't go unnoticed! Whether it's code, design, documentation, or other contributions, we're grateful for your help. Questions? ^^^^^^^^^^ For any queries about contributing, join `our community discussions `_ or contact a SWAT maintainer. Thank you for your contributions! Your support drives our mission to craft a powerful, adaptable tool for emulating threats against Google Workspace.