Skip to content

Contributing

Ngô Xuân Phong edited this page May 18, 2023 · 2 revisions

Contributing

Getting Started

  1. Fork the repository and clone your fork.
  2. Create a new branch for your changes (use a descriptive name, such as fix-bug-123 or add-new-feature).
  3. Make your changes in the new branch.
  4. Test your changes thoroughly.
  5. Commit and push your changes to your fork.
  6. Create a pull request following the guidelines in the Submitting Pull Requests section.

How to Contribute

Reporting Bugs

If you find a bug in the project, please create an issue on GitHub with the following information:

  • A clear, descriptive title for the issue.
  • A description of the problem, including steps to reproduce the issue.
  • Any relevant logs, screenshots, or other supporting information.

Suggesting Enhancements

If you have an idea for a new feature or improvement, please create an issue on GitHub with the following information:

  • A clear, descriptive title for the issue.
  • A detailed description of the proposed enhancement, including any benefits and potential drawbacks.
  • Any relevant examples, mockups, or supporting information.

Submitting Pull Requests

When submitting a pull request, please ensure that your changes meet the following criteria:

  • Your pull request should be atomic and focus on a single change.
  • Your pull request should include tests for your change. We automatically enforce this with CodeCov
  • You should have thoroughly tested your changes with multiple different prompts.
  • You should have considered potential risks and mitigations for your changes.
  • You should have documented your changes clearly and comprehensively.
  • You should not include any unrelated or "extra" small tweaks or changes.

Style Guidelines

Code Formatting

We use the black code formatters to maintain a consistent coding style across the project. Please ensure that your code is formatted properly before submitting a pull request.

To format your code, run the following commands in the project's root directory:

python -m black .

Pre-Commit Hooks

We use pre-commit hooks to ensure that code formatting and other checks are performed automatically before each commit. To set up pre-commit hooks for this project, follow these steps:

Install the pre-commit package using pip:

pip install pre-commit

Run the following command in the project's root directory to install the pre-commit hooks:

pre-commit install

Now, the pre-commit hooks will run automatically before each commit, checking your code formatting and other requirements.

If you encounter any issues or have questions, feel free to reach out to the maintainers or open a new issue on GitHub. We're here to help and appreciate your efforts to contribute to the project.

Happy coding, and once again, thank you for your contributions!

Maintainers will look at PR that have no merge conflicts when deciding what to add to the project. Make sure your PR shows up here: https://github.com/ngoxuanphong/ENV/pulls

Testing your changes

If you add or change code, make sure the updated code is covered by tests. To increase coverage if necessary, write tests using pytest.