Thank you for your interest in contributing to Horizon! Your contributions are valuable to us. This document provides guidelines to help you get started, maintain consistency, and make the development process smooth for everyone involved.
We are committed to fostering a welcoming and inclusive community. Please read and adhere to our Code of Conduct to ensure a positive experience for all contributors.
Before you start contributing, ensure you have the following installed:
-
Clone the Repository
git clone https://github.com/AstroVerse-Studios/Horizon.git cd Horizon
-
Install Dependencies
Navigate to the project directory and install dependencies using
npm
oryarn
:./setup.sh
-
Build the Project
Use Docker to build the Horizon service:
docker-compose up --build
-
Configure Environment Variables
Copy the sample configuration file and update the settings as necessary:
cp .env.sample .env # Edit .env with your configurations
-
Create a Branch
Always create a new branch for your changes. Use a descriptive name for your branch, e.g.,
feature/add-new-endpoint
orbugfix/resolve-issue
.git checkout -b feature/add-new-endpoint
-
Commit Your Changes
Write clear, concise commit messages. Follow the conventional commit format:
git commit -m "feat: add new endpoint for user authentication"
Follow the coding standards used in the project. Ensure code consistency by adhering to:
- JavaScript/TypeScript: Use
ESLint
with the project’s configuration. - Python: Follow PEP 8 guidelines.
-
Run Tests
Ensure all tests pass before submitting your pull request:
./test.sh
-
Write Tests
Add tests for new features or bug fixes. Use the existing testing framework and structure:
// Example test case test('should return the correct result', () => { expect(myFunction()).toBe(expectedValue); });
-
Push Your Branch
Push your changes to your forked repository:
git push origin feature/add-new-endpoint
-
Create a Pull Request
Navigate to the GitHub repository and create a new pull request. Provide a clear description of your changes, reference any relevant issues, and explain the rationale behind your modifications.
-
Request Review
Tag reviewers and ensure you follow any discussion threads. Be open to feedback and willing to make changes based on review comments.
- Respond Promptly: Address feedback and comments from reviewers promptly.
- Be Constructive: Provide and accept constructive feedback.
- Maintain Respect: Uphold a respectful and collaborative tone in all discussions.
- Documentation: Horizon Documentation
- Community: Join our Discord server or community forums.
- Issue Tracker: Report bugs and request features on GitHub Issues.
Thank you for your contributions! Together, we can make Horizon an amazing game server solution.