Hi 👋 there, welcome to KWoC React project. We are glad that you considered contributing! Here are a few points that will help you have a great time coding and contributing.
- We do not commit to
master
branch directly. We open pull requests and merge them in master after review. - Please comment under the issue you want to work on and wait for it to be assigned to you.
- PNPM to manage packages.
- React Router to handle routes.
- Each contribution begins with an issue in this repo.
- Create the issue as necessary.
- If you lack the technical knowhow, refer to Learning Guide or ask for help to anyone.
- Comment under the issue you want to work on and wait for it to be assigned to you.
- Create a Branch and Commit your changes.
- Name the branch carefully. For example
feature-card-component
,bugfix-overlay
. Do not use generic names such asdevelop
,work
, your username etc. - Name the commits meaningfully. For help read How to Write a Git Commit Message.
- Name the branch carefully. For example
- Check if the solution works by testing it locally.
- Submit a PR with an appropriate name including the term
Fixes #{issue number}
if it fixes that particular issue. - Be attentive and respond to comments and suggestions in the opened PR.
- We will merge your PR after reviewing and testing it.
First install all the dependencies using pnpm (:warning: not npm) by running $ pnpm
in the root directory.
Everything including building and serving locally is pre-configured in the package.json
file. You can run the command $pnpm start
to start a live server.
This setup is recommended but not enforced. Please note that we expect clean well formated code and these tools make it easier for us to have a consistent code style throughout the codebase.
We use PNPM as the package manager. Please do not use npm
with this project to manage dependencies. It will result in clashing dependencies and may cause unintended errors.
To add new dependency use pnpm add
, so if you need to run npm install <package>
run pnpm add <package>
.
The text editor of choice. You can choose any other as long as they support prettier.
Extension - Prettier
Extension - ESlint
{
"files.trimTrailingWhitespace": true,
"editor.formatOnSave": true,
"eslint.autoFixOnSave": true,
"eslint.alwaysShowStatus": true,
"javascript.updateImportsOnFileMove.enabled": "always",
"prettier.jsxSingleQuote": true,
"prettier.singleQuote": true
}