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.