Taiko is always open to contributions both big and small. This document explains how you can contribute.

Contributors and users are obliged to follow the Taiko's Code of Conduct. The core team will apply the code of conduct whenever a user or contributor violates any of the terms. Please do take some time to read and understand the terms before participating on Taiko forums, issue tracker or sending pull requests.

Reporting an issue #

Taiko's automated test suite runs on every commit. Despite best efforts, bugs happen. As a first step make sure the issue/bug wasn't reported earlier. You can start by searching

If you find a similar bug or issue please add a comment to the existing issue on Github or thread on Discussions.

If you do not find anything and you are sure it's a bug please create a new issue. To make it easier to debug and fix the issue make sure your report

The issue template has a section with instructions on how to report versions of Taiko, Node, OS and Gauge (if you are using it). Please do not ignore this section.

To work efficiently, the project team might close an issue without enough information. But, don't worry if your issue is closed, it will be re-opened as soon as there is more information.

Here are a few well reported issues 1477, 1442, 1552.

Adding examples #

Taiko has a list of examples on Github. The examples test a sample application called the internet express. You can write test scripts for this application or create a self contained working example.

Please note, examples you submit should not be testing an external website as they are tested on every pull request and this may result in unwanted traffic to the website.

Improving documentation #

Source for Taiko's documentation is available on Github. The API documentation uses JSDoc.

Please raise a pull request if you want to improve any part of the documentation. A link to a preview site with the changes you made on the pull request will be available under the "All checks have passed" section of the pull request.

Answering queries #

You can help by answering queries by users who are getting started on Taiko or looking for ways to solve specific test automation tasks on Discussions.

You can also comment on issues raised by users. To get notified of new issues make sure you are watching the repository.

Talking/Writing about Taiko #

If you feel Taiko can help others in their test automation consider talking about Taiko to your testing community or at other meetups.

Taiko has great videos on YouTube created by all kinds of users and there is always scope for more.

You can also write about Taiko on Gauge's blog page. If you have an idea please create Github issue detailing your idea to discuss the post.

To share your talk or post about Taiko please tweet @taikodev. For logos and images please refer Taiko's brand page

Writing plugins #

Taiko's plugin architecture, allows you to extend Taiko's functionality. It is also a way to experiment with ideas which could be a part of the core.

You can refer the current list of plugins to build your own. If you want your plugin to be listed on the plugins page please modify the list and send a pull request.

Contribute code and pull requests to Taiko! #

Taiko is a Node.js library written in Javascript (with Typescript bindings). You only need the latest version of Node.js and git installed to clone the repository and get started.

There are issues of varying levels across all Taiko repositories. All issues that need to be addressed are tagged as help wanted.

One easy way to get started is to pick a small bug to fix. These have been tagged as good first issue.

To everyone is working on, what's on the roadmap and what's priority please check the project board.

If want to contribute something new it's better to discuss it before working on it. You can discuss new ideas and features by creating a new issue on Github. You can also reach out on Discussions.

Once you pick an issue, add a comment informing that you want to work on it. To get early feedback from other contributors, it's recommended that you first raise a draft pull request with a small commit with a pull request title and description. Keep making incremental commits to this pull request and seek out help or reviews till it's complete.

Taiko depends a lot on it's testing suite to check every PR and make frequent releases. If you are adding new feature please try you best to add a test.

Signing commits

All commits to Taiko and related repositories require DCO signing. By adding a Signed-off-by line to your commit, you sign off the Developer Certificate of Origin.

You can use the -s flag to your git commit command. To add this line. If you want to automate even this flag addition, you can use git commit templates which automatically certifies all your future commits by default.

Bumping version of taiko

Any pull request tagged with the label ReleaseCandidate will trigger a release on merge and must add a commit bumping up the version of the release.

For bumping patch version run

npm version patch --no-git-tag-version

For bumping minor version run

npm version minor --no-git-tag-version

For bumping major version run

npm version major --no-git-tag-version

This will update the version accordingly in the package.json.