Interested in contributing to PyGPT? Here's how to get started!
We want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Proposing new code to codebase
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
Report bugs using GitHub's issues
We use GitHub issues to track public bugs. Report a bug by opening a new issue; it's that easy!
Great Bug Reports tend to have:
- A quick summary and/or background
- Environment details (OS, Python version, installed packages versions from
pip list
) - Version of the application (e.g. 0.1.0), type (compiled version, Snap, Python)
- Steps to reproduce
- Be specific!
- Give step-by-step instructions on how to reproduce the issue.
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
- If possible, change the log level to
DEBUG
in theSettings / Developer / Log level
option and attach the full debug log (without OpenAI API requests details!) produced by the app in the terminal or in the%workdir%/app.log
file.
Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests:
- Fork the repo and create your branch from
dev
. - If you've added code that should be tested, add tests.
- If it is needed, update the documentation.
- Ensure the test suite passes.
- Issue that pull request targeting the
dev
branch.
- You can use any editor you like, but make sure your code conforms to our coding conventions.
- We use PEP8 for Python code.
Our tests are in the tests folder. We use pytest for unit testing. To run all unit tests, run the following in the root dir of the project:
pytest tests
See these instructions to open a pull request against the PyGPT repo.
Please remember that the project is still in the early stages of development, many things require refactoring and will undergo changes.