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.
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
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
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.
The changelog is created with Changesets.
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:
- Run
yarn changeset
. - 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.
- Select a bump type for each selected package.
- Provide a message to be written into the changelog on the next release.
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
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
- Create a new branch from main specific to the release.
git checkout -b release/version-packages
- Now run the following command at the root of the repo to bump the version of the packages.
yarn changeset version
-
Update the upgraded CHANGELOG.md files of the packages to add link to the diff between the previous version and the new one.
-
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.