First off, thanks for taking the time to contribute! 🎉
The following is a set of guidelines for contributing to PythonAISynth. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
This project and everyone participating in it is governed by the PythonAISynth Code of Conduct. By participating, you are expected to uphold this code.
This section guides you through submitting a bug report. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
- Use a clear and descriptive title for the issue to identify the problem.
- Describe the exact steps which reproduce the problem in as many details as possible.
- Provide specific examples to demonstrate the steps.
- Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.
- Explain which behavior you expected instead and why.
- Include screenshots and animated GIFs which show you following the described steps and clearly demonstrate the problem.
This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality.
- Use a clear and descriptive title for the issue to identify the suggestion.
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Provide specific examples to demonstrate the steps.
- Describe the current behavior and explain which behavior you expected instead and why.
- Include screenshots and animated GIFs which help you demonstrate the steps or point out the part of the project which the suggestion is related to.
The process described here has several goals:
- Maintain the project's quality
- Fix problems that are important to users
- Engage the community in working toward the best possible product
- Enable a sustainable system for maintainers to review contributions
Please follow these steps to have your contribution considered by the maintainers:
- Fork the repository and create your branch from
dev. - If you've added code that should be tested, add tests.
- If you’ve modified any modules or files, update the documentation accordingly.
- Ensure the test suite passes.
- Make sure your code lints using
ms-python.autopep8from VSCode. - Issue that pull request!
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
- Use The Black code style.
- Use
ms-python.black-formatterfrom VSCode for formatting.
- Write clean and understandable code.
- If the code is self-explanatory and makes sense to both you and the reviewer, no additional documentation is needed.
- If the code is complex or not immediately clear, provide documentation to explain it.
This section lists the labels we use to help us track and manage issues and pull requests.
- bug: Something isn't working
- documentation: Improvements or additions to documentation
- duplicate: This issue or pull request already exists
- enhancement: New feature or request
- good first issue: Good for newcomers
- help wanted: Extra attention is needed
- invalid: This doesn't seem right
- question: Further information is requested
- wontfix: This will not be worked on