This repository has been recently transfered from openfun to lasuitenumerique. We need to fix some paths and urls especially to fix documentation and README
97 lines
3.1 KiB
Markdown
97 lines
3.1 KiB
Markdown
# 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](https://suitenumerique.gitbook.io/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](http://localhost:3200) and the React components package's Storybook on
|
|
[http://localhost:6006](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](https://suitenumerique.gitbook.io/handbook/git).
|
|
- Make sure that you added tests covering your changes.
|
|
- Run `make deploy` to tests, lint and build the project.
|
|
- Create a [changeset](#adding-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](https://github.com/changesets/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](https://semver.org/) 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](https://github.com/Shopify/polaris/blob/main/.github/CONTRIBUTING.md#adding-a-changeset)
|
|
|
|
## Release
|
|
|
|
1. Create a new branch from main specific to the release.
|
|
|
|
`git checkout -b release/version-packages`
|
|
|
|
2. Now run the following command at the root of the repo to bump the version of the packages.
|
|
|
|
`yarn changeset version`
|
|
|
|
3. Update the upgraded CHANGELOG.md files of the packages to add link to the diff between the previous version and the new one.
|
|
|
|
4. 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.
|