Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 2 KB

CONTRIBUTING.md

File metadata and controls

43 lines (32 loc) · 2 KB

Contributing

  1. The DEVELOPING doc has details on how to set up your environment.
  2. Familiarize yourself with the codebase by reading the docs, which you can generate locally by running yarn docs.
  3. Create a new issue before starting your project so that we can keep track of what you are trying to add/fix. That way, we can also offer suggestions or let you know if there is already an effort in progress.
  4. Fork this repository.
  5. Create a topic branch in your fork based on the main branch. Note, this step is recommended but technically not required if contributing using a fork.
  6. Edit the code in your fork.
  7. Write appropriate tests for your changes. Try to achieve at least 95% code coverage on any new code. No pull request will be accepted without unit tests.
  8. Sign CLA (see CLA below).
  9. Send us a pull request when you are done. We'll review your code, suggest any needed changes, and merge it in.

CLA

External contributors will be required to sign a Contributor's License Agreement. You can do so by going to https://cla.salesforce.com/sign-cla.

Branches

  • We work in branches off of main.
  • Our released (aka. production) branch is main.
  • Our work happens in topic branches (feature and/or bug-fix).
    • feature as well as bug-fix branches are based on main
    • branches should be kept up-to-date using rebase
    • commit messages are enforced
    • see below for further merge instructions

Releasing

  • A new version of this library will be published upon merging PRs to main, with the version number increment based on commitizen.

Pull Requests

  • Develop features and bug fixes in topic branches.
  • Topic branches can live in forks (external contributors) or within this repository (committers).
    ** When creating topic branches in this repository please prefix with <developer-name>/.

Merging Pull Requests

  • Pull request merging is restricted to squash & merge only.