Thank you for your interest in contributing to maidr project! We welcome contributions from everyone.
To contribute to this project, you need to have the following installed on your local machine:
-
git .
-
node.js (version 16 or higher is recommended)
-
npm (version 9 or higher is recommended)
-
yarn
-
Visual Studio Code (VS Code) (recommended)
To get started, please follow these steps:
-
Fork the repository on GitHub.
-
Clone your forked repository to your local machine.
-
Open the project in VS Code.
-
Install all the recommended extensions.
-
install
npm
if you don't have it already. -
Install
yarn
if you don't have it already. You can install it by running the following command in your terminal:
npm install -g yarn
- In the forked project root, install the dependencies by running the following command in your terminal:
yarn install
-
Make changes.
-
Run
yarn format
to format the code. -
Run
yarn lint
to lint the code. -
Run
yarn build
to build the project. -
Run
yarn test
to run the tests. -
Run
yarn docs
to generate the documentation. -
Test the new features locally.
-
Commit your changes and push them to your forked repository.
-
Create a pull request to the main repository.
- Note: If you are using VS Code, you can run the above commands (e.g.,
yarn format
,yarn lint
,yarn build
,yarn test
,yarn docs
) by pressingCtrl + Shift + B
(orCmd + Shift + B
on macOS) and selecting the command you want to run.
Please follow these guidelines when contributing to the project:
- Use JavaScript (es6) for all code.
- Write clear and concise commit messages.
- Follow the code style and formatting guidelines.
- Write tests for new features and bug fixes.
- Update the documentation as needed in
CHANGELOG.md
.
We use ESLint to enforce a consistent code style and formatting. Please run yarn lint
before committing your changes to ensure that your code meets the standards.
We use Jest for unit testing. Please run yarn test
before committing your changes to ensure that your changes do not break any existing tests.
We use jsdoc for documentation. Please update the relevant documentation in js files when making changes to the project.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.