Thank you for your interest in contributing to GenHub, the community launcher for Command & Conquer Generals and Zero Hour! Your contributions help improve the experience for all players. This document outlines the process and guidelines for contributing to the project.
- How to Contribute
- Code of Conduct
- Development Environment
- Coding Style
- Pull Requests
- Issue Reporting
- Feature Requests
- Code review
- Community & Support
- Fork the repository and create your branch from
main. - Clone your fork locally.
- Make your changes in a logically named branch.
- Test your changes thoroughly.
- Submit a Pull Request (PR) with a clear description of your changes.
Please be respectful and constructive in all interactions. By participating, you agree to uphold a welcoming and inclusive environment for all contributors.
- .NET Version: GenHub targets .NET 8. Ensure you have the latest SDK installed.
- IDE: Visual Studio 2022 is recommended. The Community Edition is free and sufficient.
- Dependencies: Restore NuGet packages before building.
- Follow the GenHub Coding Style Guide.
- Use 4-space indentation.
- Always use braces for control blocks.
- Prefer fluent LINQ syntax.
- Enable and use nullable reference types.
- Use primary constructors where appropriate.
- Maintain strict ordering of class members and using directives.
- Ensure your branch is up to date with
main. - Provide a clear, descriptive title and summary.
- Reference related issues (e.g.,
Fixes #123). - Include tests for new features or bug fixes.
- Pass all CI checks before requesting review.
- Be responsive to feedback and requested changes.
- Search existing issues before opening a new one.
- Provide detailed steps to reproduce bugs.
- Include logs, screenshots, or error messages if relevant.
- Use clear, descriptive titles.
- Clearly describe the proposed feature and its benefits.
- Include use cases or examples where possible.
- Be open to discussion and feedback from maintainers and the community.
- All PRs must be reviewed by at least one maintainer before merging.
- Anyone can review, but maintainers will have the final say on merging.
- Reviewers will check for code quality, adherence to style, and test coverage.
- Be clear and constructive in your feedback.
- Larger changes may require multiple rounds of review.
- Be patient; maintainers may have other commitments.
- If you disagree with feedback, discuss it respectfully and provide your reasoning.
- When you approve a PR, please leave it open for at least 24 hours (or until another maintainer has had a chance to review) before merging. This gives others an opportunity to provide input and helps catch issues earlier.
- Join the discussion on our Discord.
- For urgent issues, please use the issue tracker.
Thank you for helping make GenHub better!