Skip to content

Contributing ​

Thank you for your interest in contributing to Cadence.js! We welcome contributions from the community to help improve and grow this project. Please take a moment to read through the guidelines below.

Getting Started ​

Prerequisites ​

Before you start contributing, ensure you have the following installed:

  • Node.js (at least 18) (i recommend using nvm
  • pnpm
  • git
  • A modern IDE

Setting up the Development Environment ​

  1. Clone the repository:

    bash
    git clone https://github.com/timothee-durand/cadence.git
    cd cadence
  2. Install dependencies:

    bash
    pnpm install
  3. Generate the cadence build for playground (you'll have to do this each time you change the cadence code):

    bash
     cd ../cadence/ && pnpm generate:playground

Structure ​

This project has 2 packages:

  • cadence-js: the library itself, here
  • playground: a playground to test the library, here

Making Changes ​

  1. Create a new branch for your changes:

    bash
    git checkout -b feat/name-of-feature
  2. Make your changes and ensure the tests pass.

  3. Commit your changes with a descriptive commit message:

    bash
    git commit -m "feat: add new feature"
  4. Push your branch to the remote repository:

    bash
    git push origin feat/name-of-feature
  5. Open a pull request on GitHub.

Coding Guidelines ​

  • Follow the existing coding style and conventions in the project.
  • Write clear and concise code with comments where necessary.
  • Ensure your code is well-tested
  • Ensure the documentation is up-to-date, don't hesitate to add an example to the playground if needed !
  • Ensure your code passes the linter and tests.
  • Ensure your commit messages are descriptive and follow the conventional commits format.
  • Ensure your pull request description is descriptive and includes a summary of the changes, as well as any relevant motivation and context.
  • Ensure your pull request title follows the conventional commits format.
  • Ensure your pull request is linked to an issue.
  • Ensure your pull request has been reviewed by at least one other contributor.
  • Ensure your pull request has been approved by at least one other contributor.

Feature Requests and Bug Reports ​

If you find a bug or have a feature request, please open an issue on the GitHub repository.

Licensing ​

By contributing to Cadence.js, you agree that your contributions will be licensed under the project's MIT License.

Thank you for contributing to Cadence.js! 🎶🚀