Thank you for looking into contributing to Weaviate CLI! We really appreciate that you are willing to spend some time and effort to make Weaviate better for everyone!
We have a detailed contributor guide as a part of our documentation. If you are new, we recommend reading through the getting started guide for contributors after reading this overview.
We use the good-first-issue
labels on issues that we think are great to get started. These issues are typically isolated to a specific area of the CLI.
To contribute to Weaviate CLI you should have:
- Basic Python skills
- Experience using Weaviate CLI to understand the effects of changes
- Knowledge of writing tests (see our test files for examples)
Note: The Weaviate team uses Linux and Mac (darwin/arm64) machines exclusively. Development on Windows may lead to unexpected issues.
- Fork the repository
- Clone your fork
- Create a virtual environment:
python -m venv .venv
- Install development dependencies using Makefile:
make install-dev
- We use Black for code formatting
- Install development dependencies and pre-commit hooks (if not already installed):
make install-dev
- Before committing, ensure code is formatted:
make format
- CI will check formatting using:
make lint
Please tag your commit(s) with the appropriate GH issue that your change refers to, e.g. gh-9001 reduce memory allocations of ACME widget
. Please also include something in your PR description to indicate which issue it will close, e.g. fixes #9001
or closes #9001
.
If you open an external pull request our CI pipeline will get started. This external run will not have access to secrets. This prevents people from submitting a malicious PR to steal secrets. As a result, the CI run will be slightly different from an internal one. For example, it will not automatically push a Docker image. If your PR is merged, a container with your changes will be built from the trunk.
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.
Contributions to Weaviate must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of Weaviate. Go to this page to read the current agreement.
The process works as follows:
- You contribute by opening a pull request.
- If you have not contributed before, our bot will ask you to agree with the CLA.
The Weaviate team consists of some of the nicest people on this planet. If something is unclear or you'd like a second opinion, please don't hesitate to ask. We are glad that you want to help us, so naturally, we will also do our best to help you on this journey.
We really appreciate your effort in making Weaviate better for everyone!