Contributing to Genesis
July 21, 2026 · View on GitHub
Thank you for your interest in contributing to Genesis! We welcome contributions from everyone. Please take a moment to review this guide to ensure a smooth collaboration.
- Reporting Bugs
- Suggesting Features
- Submitting Code Changes
- Reviewing and Merging
- Questions and Discussions
Reporting Bugs
-
Before reporting a bug, please search through existing issues to check if it has already been reported.
-
If the issue hasn't been reported yet, please use our issue templates to provide as much detail as possible in your report.
**Description** A clear and concise description of what the bug is. **To Reproduce** Example code or commands to reproduce the bug. **Expected behavior** A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain your problem. **Environment:** - OS: [e.g., Linux, macOS] - GPU/CPU: [e.g., A100, RTX 4090, M3pro] **Additional context** Add any other context about the problem here.
Suggesting Features
- If you have a feature idea, please create an issue labeled
enhancement. - In the created issue, please provide context, expected outcomes, and potential.
Submitting Code Changes
-
We use the
pre-commitconfiguration to automatically clean up code before committing. Install and runpre-commitas follows:-
Install
pre-commit:pip install pre-commit -
Install hooks from the configuration file:
pre-commit installAfter this,
pre-commitwill automatically check and clean up code whenever you make a commit.
-
-
(Optional) You can run CI tests locally to ensure you pass the online CI checks.
pytest -v --forked -m required ./tests -
In the title of your Pull Request, please include [BUG FIX], [FEATURE], [MISC], [CHANGING] (behavior change) or [BREAKING] (API break) to indicate the purpose. The title is a sentence and ends with a period.
-
Commit titles are plain single-line sentences without the bracket tag, also ending with a period.
-
In the description, please provide example code or commands for testing.
Reviewing and Merging
- PRs require at least one approval before merging.
- Automated checks (e.g., CI tests) must pass.
- Use
Squash and Mergefor a clean commit history.
Questions and Discussions
- Use Discussions for open-ended topics.
We appreciate your contributions and look forward to collaborating with you!
Thank you,
Genesis Maintainers