Skip to content

Latest commit

 

History

History
96 lines (59 loc) · 3.08 KB

CONTRIBUTING.md

File metadata and controls

96 lines (59 loc) · 3.08 KB

Contributing to Cunningham

Want to contribute to Cunningham? We got you covered.

We try to raise our code quality standards and expect contributors to follow the recommandations from our handbook.

Development

First start

Install and build packages

make bootstrap

And then run dev servers

make dev

Then, you will be able to access the demo app on http://localhost:3200 and the React components package's Storybook on http://localhost:6006

Building

In order to build all packages of this repo you just need to type the following command at the root of the monorepo.

make build

Sending a pull request

When submitting please follow those steps:

  • Make sure you followed the commit conventions from the handbook/git.
  • Make sure that you added tests covering your changes.
  • Run make deploy to tests, lint and build the project.
  • Create a changeset by running yarn changeset at the root of the repo. In any case, a bot will verify if your PR contains a changeset.

Changelog

The changelog is created with Changesets.

Adding a changeset

A changeset describes changes made in a branch or commit. It holds three bits of information:

  • What packages we need to release
  • What version we are releasing packages
  • A changelog entry for the released packages

Add a changeset if you have made any changes that will require a package version bump and release:

  1. Run yarn changeset.
  2. Select the packages you want to include using ↑ and ↓ to navigate to packages, and space to select a package. Hit enter when all desired packages are selected.
  3. Select a bump type for each selected package.
  4. Provide a message to be written into the changelog on the next release.

Writing a changelog message

Keep the following in mind when authoring your changelog entry (final prompt after running yarn changeset):

  • Begin sentences with explicit verbs like "add", "fix", "refactor"
  • Avoid redundancy when possible
  • Use sentence case
  • Use plain language

Out of scope for the changelog

Generally, changes related to these topics can be omitted:

  • Doc typo fixes
  • Dev dependencies upgrades
  • Chores (infrastructure, release process…)

This part of the documentation is 99% inspired by Polaris

Release

  1. Create a new branch from main specific to the release.

git checkout -b release/version-packages

  1. Now run the following command at the root of the repo to bump the version of the packages.

yarn changeset version

  1. Update the upgraded CHANGELOG.md files of the packages to add link to the diff between the previous version and the new one.

  2. Commit the changes and create a PR named "🔖(release) version packages".

Once this PR is merged, the CI will automatically publish the new version of the packages on npm. It will also create and push release tags.