Thank you for considering a contribution to this project! This document outlines contribution guidelines and coding best practices. This project predominantly uses C++20, MS-GSL, nlohmann/json, EnTT for ECS, and Raylib.
- First, check if the bug has already been reported in the Issues.
- If not, please create a new issue with detailed information.
- Please ensure the feature hasn't already been requested or implemented.
- If not, feel free to open a new issue detailing your feature proposal.
- Fork the repository and clone it to your local machine.
- Create a new branch for your feature or fix.
- Implement your changes, and then commit and push them to your fork.
- Create a pull request against the main branch of the original repository.
- C++20: The modern C++ standard used in this project.
- MS-GSL: Microsoft Guideline Support Library.
- EnTT: Entity-Component-System (ECS) framework.
- Raylib: A simple and easy-to-use library for creating games.
- nlohmann/json: For handling JSON data.
- Adhere to the C++20 standard for all new contributions.
- Functions should be small and focused on a single task.
- MS-GSL: Follow best practices for safer, more robust code.
- EnTT: Follow ECS architecture best practices.
- Raylib: Adhere to Raylib idiomatic practices for game development.
- nlohmann/json: Utilize for efficient JSON data handling.
- Keep the SOLID principles in mind for maintainable and scalable code.
- Ensure Visual Studio 2022 and Docker for Windows are installed.
- Refer to the README to set up your development environment.
- Sync your fork with the main repository.
- Create a new branch for your changes.
- Test your changes locally.
- Commit and push your changes.
- Create a pull request for review.
Your contributions are highly valued, and we look forward to collaborating with you!