Thank you for considering contributing to TestBench Defect Service! We appreciate your help in making this project even better. Please take a moment to read through this guide to understand how you can contribute effectively.
To get started with development, follow these steps to clone the repository and set up your environment.
1. Fork the repository
Start by forking the repository to your own account.
2. Clone your forked repository
After forking, clone your forked version of the repository to your local machine.
3. Set up the virtual environment
We provide a script to automatically set up the virtual environment and install all the necessary dependencies.
Run the following command from the project’s root directory:
python bootstrap.pyThe script bootstrap.py creates a virtual environment and installs both development and test dependencies.
4. Activate the virtual environment
Once the setup is complete, activate the virtual environment:
- on macOS/Linux:
source .venv/bin/activate - on Windows:
.venv\Scripts\activate
If you want to contribute code, it's important to ensure that everything works correctly. You can run the tests to make sure the code passes all the required checks.
Run the unit tests (pytest):
pytest tests/unitRun the Robot Framework Tests
To run the tests, simply execute the following from the project’s root directory:
robot tests/robot/This will automatically discover and run all robot tests in the project.
This project uses Ruff for linting and formatting, and mypy for static type checking.
Check linting:
ruff check src/Check types:
mypy src/Pre-commit hooks (run automatically on each commit after setup):
pre-commit installPlease ensure ruff and mypy pass with no errors before opening a pull request.
-
Create a branch from
mainwith a descriptive name:feature/<short-description>for new featuresfix/<short-description>for bug fixesdocs/<short-description>for documentation changes
-
Commit your changes with clear, concise commit messages.
-
Push your branch and open a pull request against
main. -
Fill in the pull request description, referencing any related issues (e.g.
Closes #42). -
Ensure all CI checks pass before requesting a review.
Please open a GitHub Issue and include:
- Version — output of
testbench-defect-service --version - Python version — output of
python --version - Operating system
- Steps to reproduce the problem (for bugs)
- Expected vs actual behavior
Open a GitHub Issue and describe:
- The use case you are trying to solve.
- How you imagine the feature working.
- Any alternatives you have considered.