Get started
Edit on GitHub

Contributing to CML

We welcome contributions to CML by the community. See the Contributing to the Documentation guide if you want to fix or update the documentation or this website.

Reporting a Problem

Spotted a bug? Let us know!

  • For problems with CML, search the issue tracker before creating a new issue (bug or feature request).
  • If you'd like to implement/fix things yourself, please see below for help on how to submit your changes.

For problems with the site, please see Contributing to the Documentation instead.

Submitting Contributions

  1. [optional] Open a new issue in the issue tracker.
  2. [optional] Set up a development environment to run basic tests locally.
  3. Fork the CML and make the necessary changes.
  4. [optional] Add tests for your changes to src/*.test.js.
  5. Submit a pull request, mentioning any related issues.

We will review your pull request as soon as possible. Thank you for contributing!

Development Environment

Get the latest development version. Fork and clone the repo:

$ git clone<your-username>/cml.git

Ensure that you have Node.js 16.x installed. Install coding style pre-commit hooks with:

$ cd cml
$ npm install

That's it. You should be ready to make changes, run tests, and make commits! If you experience any problems, please don't hesitate to ping us in our chat.


  • External pull requests: Tests won't run until maintainers approve them
  • New pull requests: Follow Submitting Contributions; except instead of forking, create a new branch at CML
  • Release managers: In charge of merging pull requests after a one or more approving review(s) and tagging new releases
    • Ideally, squash-merge small PRs
    • Large PRs may be merged without squashing (but related commits should be squashed)
  • New releases
    • gh workflow run release.yml --field bump={patch,minor,major}
    • Wait for a PR to appear
    • Check & approve the PR
    • Wait for a draft to appear under releases
    • Check & publish the draft

๐Ÿ› Found an issue? Let us know! Or fix it:

Edit on GitHub

โ“ Have a question? Join our chat, we will help you:

Discord Chat