Contribution guide
September 12, 2025 · View on GitHub
Legal info
Hello! In order for us (YANDEX LLC) to accept patches and other contributions from you, you will have to adopt our Contributor License Agreement (the “CLA”). The current version of the CLA you may find here:
- https://yandex.ru/legal/cla/?lang=en (in English)
- https://yandex.ru/legal/cla/?lang=ru (in Russian).
By adopting the CLA, you state the following:
- You obviously wish and are willingly licensing your contributions to us for our open source projects under the terms of the CLA,
- You have read the terms and conditions of the CLA and agree with them in full,
- You are legally able to provide and license your contributions as stated,
- We may use your contributions for our open source projects and for any other our project too,
- We rely on your assurances concerning the rights of third parties in relation to your contributions.
If you agree with these principles, please read and adopt our CLA. By providing us your contributions, you hereby declare that you have read and adopted our CLA, and we may freely merge your contributions with our corresponding open source project and use it in further in accordance with terms and conditions of the CLA.
Provide contributions
If you have adopted terms and conditions of the CLA, you are able to provide your contributions. When you submit your pull request, please add the following information into it:
I hereby agree to the terms of the CLA available at: [link].
Replace the bracketed text as follows:
- [link] is the link at the current version of the CLA (you may add here a link https://yandex.ru/legal/cla/?lang=en (in English) or a link https://yandex.ru/legal/cla/?lang=ru (in Russian). It is enough to provide us with such notification once.
Other questions
If you have any questions, please write us at opensource@yandex-team.ru .
Pull requests and Code contributions
- Tests must pass.
- Follow our coding style (eslint will help you).
- If you fix a bug, add a test.
- If you can't fix a bug, file an issue with the steps to reproduce, the expected and the actual results.
- if an issue describes a problem which we are unable to reproduce and issue reporter does not answer our questions for 1 week, then this issue may be closed without further investigation.
How to develop
Create your own copy of Testplane repo
Note. If you are not a member of gemini-testing and going to submit a PR, you should first create a fork of Testplane repo.
git clone https://github.com/gemini-testing/testplane.git # Replace with your fork URL
cd testplane
npm install
Create a test project
When working with testplane, you'd want to test your changes on a real project as if you were a user.
To create a test project, use our CLI wizard:
npm init testplane@latest testplane-test-project
This will create a project in testplane-test-project directory.
Link your local Testplane repo to your test project
Go to Testplane repo directory and run:
cd testplane
npm link
Then go to your test project's directory and run:
cd testplane-test-project
npm link testplane
Build testplane
To build testplane, you may use npm run build command or npm run watch to watch for changes.
Great! Now you have everything set up. You can now make some tweaks in testplane and run npx testplane in your test project to see how it works with your changes!
Run checks locally
You may run all linters and tests locally using the command below.
npm test
For a more granular checks, see scripts section in package.json.