#Contribution guidelines This is an official library of shared UI components for Monday builders. It is used both for internal and external Monday apps development.
This library is open-sourced, and we encourage everyone to use and contribute into it.
- Create a fork of this repository
- Please use the correct node version it is listed in the
.nvmrc
file (you can usenvm use
in order to switch to the right node version). - Install dependencies with
npm install
command - Sync from upstream if needed
- Run Storybook environment locally with
npm run storybook
command - Commit to your local fork using Semantic Commit Messages
- Create a PR with title based using Semantic Commit Messages
For example:
feat: add new TextArea component
- Go over the checklist in the PR and make sure that all checks are passed
- Wait for the Design and Code review
- Enjoy your change after merge!
Every new component in this repository should be created using plops with npm run plop
command.
Plop will automatically generate all required files for your new component. Plop template will always be up to date and by using it, you can be sure that your component will be created with the latest recommended structure.
As the main development environment and documentation playground we are using Storybook. Each component should be developed in isolation in the Storybook environment.
Every component should support theming, you can find more information about it here
All the guidelines about testing your new component or changes to the existing one you can find here
We are using Prettier with the default community guidelines. Please, make sure that you are formatting your code with prettier.
We are using Semantic commits convention for creating Pull Requests and commits messages inside of the Pull Request.
To release a new version, you can run the "Release new version" workflow.
If you want to run it locally, you can do so with Github's CLI:
$ gh workflow run "Release new version"