Thank you for your interest in contributing to CloudGuardStack! We welcome contributions from the community to help improve this project.
- Code of Conduct
- Getting Started
- Development Environment
- Code Style
- Pull Request Process
- Reporting Issues
- Feature Requests
- License
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
- Fork the repository on GitHub
- Clone your fork locally
git clone https://github.com/your-username/cloud_guard_stack.git cd cloud_guard_stack - Set up your development environment (see below)
- Create a feature branch
git checkout -b feature/your-feature-name
- Make your changes
- Run tests and verify your changes
- Commit and push to your fork
- Open a pull request
- Python 3.9+
- Terraform 1.5.0+
- Docker 20.10+
- Pre-commit hooks
-
Install development dependencies:
pip install -e .[dev]
-
Install pre-commit hooks:
pre-commit install
-
Run tests:
pytest tests/
- Python code follows PEP 8
- Terraform code follows the Terraform Style Conventions
- Documentation follows Google Style Python Docstrings
- Ensure any install or build dependencies are removed before the end of the layer when doing a build.
- Update the README.md with details of changes to the interface, including new environment variables, exposed ports, useful file locations, and container parameters.
- Increase the version numbers in any examples files and the README.md to the new version that this Pull Request would represent.
- Your pull request should target the
mainbranch. - Ensure all tests pass and add tests for new functionality.
- Update documentation as needed.
When reporting issues, please include:
- Description of the problem
- Steps to reproduce
- Expected behavior
- Actual behavior
- Environment details (OS, Python version, etc.)
- Any relevant logs or error messages
We welcome feature requests! Please open an issue with:
- A clear description of the feature
- Use cases for the feature
- Any alternative solutions you've considered
- Additional context or screenshots if applicable
By contributing, you agree that your contributions will be licensed under the project's LICENSE file.