Skip to content

Latest commit

 

History

History
65 lines (42 loc) · 2.24 KB

File metadata and controls

65 lines (42 loc) · 2.24 KB

Contributing to Raylib Emscripten Starter Repo

Introduction

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.

Types of Contributions

Bug Reports

  • First, check if the bug has already been reported in the Issues.
  • If not, please create a new issue with detailed information.

Feature Requests

  • Please ensure the feature hasn't already been requested or implemented.
  • If not, feel free to open a new issue detailing your feature proposal.

Code Contributions

  • 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.

Libraries and Frameworks Used

  • 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.

Coding Standards

C++ Best Practices

  • Adhere to the C++20 standard for all new contributions.
  • Functions should be small and focused on a single task.

Library-Specific Guidelines

  • 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.

SOLID Principles

  • Keep the SOLID principles in mind for maintainable and scalable code.

Development Environment

  • Ensure Visual Studio 2022 and Docker for Windows are installed.
  • Refer to the README to set up your development environment.

Steps for Creating Good Pull Requests

  1. Sync your fork with the main repository.
  2. Create a new branch for your changes.
  3. Test your changes locally.
  4. Commit and push your changes.
  5. Create a pull request for review.

Your contributions are highly valued, and we look forward to collaborating with you!