Thank you for considering contributing to RenPy! 🎉 Your contributions, whether big or small, are essential to the success of this project. We welcome bug reports, feature requests, documentation updates, and code improvements.
- Navigate to the RenPy repository.
- Click the Fork button in the top-right corner to create your own copy of the repository.
Clone your forked repository to your local machine:
git clone https://github.com/<your-username>/RenPy.git
cd RenPy
Ensure you have Python installed (Python 3.7+ recommended). Set up a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
Install the required dependencies:
pip install -r requirements.txt
Ensure everything is working by running the CLI tool:
python renpy/cli.py --help
Create a descriptive branch name based on your contribution:
git checkout -b <branch-name>
Examples:
fix-typo-in-readme
feature-add-new-command
enhance-error-handling
- Update the code, fix bugs, or implement new features in the
renpy
folder. - Ensure your changes:
- Are properly documented.
- Adhere to coding best practices and project conventions.
- Are accompanied by relevant test cases, if applicable.
- Run the project to test functionality:
python renpy/cli.py <your-arguments>
- Run unit tests using
unittest
:
python -m unittest discover tests
- Check code formatting using
black
:
black .
- Check for linting errors using
flake8
:
flake8 renpy/
Commit your changes with a clear and descriptive commit message:
git add .
git commit -m "feat: Add new renaming option"
Use Conventional Commits format for consistency:
feat
: New featuresfix
: Bug fixesdocs
: Documentation updatesstyle
: Code style changes (non-functional)refactor
: Code refactoringtest
: Adding or updating tests
Push your branch to your fork:
git push origin <branch-name>
Then, navigate to the original RenPy repository and submit a pull request. Include the following in your PR description:
- A summary of changes.
- Related issue IDs (e.g., "Closes #123").
- Screenshots or logs (if applicable).
Encountered a bug or have a great idea for a new feature? Create an issue here.
-
Bug Reports: Include:
- Steps to reproduce the issue.
- Expected vs. actual behavior.
- Relevant error logs or stack traces.
-
Feature Requests: Describe:
- The feature and its use case.
- Any benefits or improvements it will bring.
To maintain a high-quality codebase, please follow these guidelines:
-
Coding Style:
- Use clean, consistent, and readable code.
- Follow PEP 8 coding standards.
- Use
black
for code formatting.
-
Commit Practices:
- Keep commits small and focused.
- Write clear and meaningful commit messages.
-
Documentation:
- Update documentation for any changes that impact the project’s functionality or usage.
-
Testing:
- Add or update tests for your changes where applicable.
- Ensure all tests pass before submitting your PR.
If you’re unsure about something or need guidance:
- Start a discussion.
- Join our community for support and collaboration.
Thank you ✨ for contributing to RenPy! Your effort makes this project better for everyone.