Thank you for considering contributing to Codecat! We appreciate your help in making this project better. Your contributions help us create a more robust, reliable, and feature-rich application for everyone.
There are many ways to contribute, from reporting bugs to writing code:
-
Reporting Issues:
- If you find a bug, have a suggestion, or want to request a feature, please check the Issues Page first to see if a similar item already exists.
- If not, please open a new issue, providing as much detail as possible.
-
Pull Requests (Code Contributions):
- If you'd like to contribute code, please follow these steps:
- Fork the Repository: Create your own copy of the Codecat repository on GitHub.
- Create a Branch: Create a descriptive branch name for your feature or bug fix from the
mainbranch (e.g.,git checkout -b feature/add-new-exporterorgit checkout -b fix/scanner-bug). - Set Up Development Environment: Follow the Development Setup section below.
- Make Changes: Write your code, ensuring it adheres to the project's coding standards.
- Test Your Changes: Add relevant tests for any new functionality or bug fixes. Ensure all tests pass by running
pytest. - Run Linters and Formatters: Ensure your code is clean by running the tools described in Quality Checks & Testing.
- Commit Changes: Commit your work with clear and concise commit messages.
- Push to Your Fork: Push your branch to your forked repository on GitHub.
- Open a Pull Request: Go to the original Codecat repository and open a pull request from your branch to the
mainbranch. Provide a clear description of your changes and link to any relevant issues.
- If you'd like to contribute code, please follow these steps:
-
Prerequisites: Ensure you have Python (3.10+) installed.
-
Fork and Clone: Fork the repository and clone your fork locally.
-
Create and Activate a Virtual Environment:
# Windows python -m venv .venv .\.venv\Scripts\activate # Linux python3 -m venv .venv source .venv/bin/activate
-
Install Dependencies: Install the project in editable mode along with all development tools:
pip install -e .[dev]
To maintain code quality and consistency, please run the following tools locally before submitting a pull request.
- Formatting (Black):
black . - Linting (Flake8):
flake8 . - Type Checking (Pyright):
pyright . - Testing (Pytest):
pytest
Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.