Thank you for considering contributing to SREnity! This guide outlines how you can contribute to the project and provides information about the project's architecture and structure.
SREnity follows the Hexagonal Architecture, also known as Ports and Adapters. This architecture promotes a clean and modular design, separating the core business logic from external concerns such as input/output mechanisms.
./src/: Main codebase../src/cli/: CLI code for command-line interfaces../src/domain/: Logic code representing the core business domain../src/entities/: Data-related code, such as structs or data models../src/repositories/: Input and output adapters.
Feel free to explore the respective directories for more details on each component.
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature. - Make your changes and commit them:
git commit -m 'Add new feature'. - Push to the branch:
git push origin feature/your-feature. - Create a pull request with a clear description of the changes.
To set up your development environment:
- Clone the repository:
git clone https://github.com/yourusername/SREnity.git. - Build and run the project
cd src/; go run -c <config file> help.
- Follow the Go coding standards.
- Write meaningful commit messages.
- Keep pull requests focused on a single task or feature.
Ensure that your changes include appropriate tests. Run tests locally before submitting a pull request.
If you encounter any issues or have suggestions, please open an issue on the GitHub repository.
Please note that this project follows the Code of Conduct. Be respectful and considerate when interacting with the community.
Thank you for contributing to SREnity!