Update contributing.md with contribution guidelines and setup instructions (#4377)

---------
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
This commit is contained in:
ganesh 2025-04-03 14:50:57 +05:30 committed by GitHub
parent 841facc853
commit 2d1f7d0f33
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -37,15 +37,15 @@ Libraries we use
- Filesystem Watcher - chokidar
- i18n - i18next
### Dependencies
You would need [Node v20.x or the latest LTS version](https://nodejs.org/en/) and npm 8.x. We use npm workspaces in the project
> [!IMPORTANT]
> You would need [Node v22.x or the latest LTS version](https://nodejs.org/en/). We use npm workspaces in the project
## Development
Bruno is being developed as a desktop app. You need to load the app by running the Next.js app in one terminal and then run the electron app in another terminal.
### Local Development
## Install Dependencies
```bash
# use nodejs 20 version
@ -53,7 +53,11 @@ nvm use
# install deps
npm i --legacy-peer-deps
```
### Local Development (Option 1)
```bash
# build packages
npm run build:graphql-docs
npm run build:bruno-query
@ -62,13 +66,23 @@ npm run build:bruno-common
# bundle js sandbox libraries
npm run sandbox:bundle-libraries --workspace=packages/bruno-js
# run next app (terminal 1)
# run react app (terminal 1)
npm run dev:web
# run electron app (terminal 2)
npm run dev:electron
```
### Local Development (Option 2)
```bash
# install dependencies and setup
npm run setup
# run electron and react app concurrently
npm run dev
```
### Troubleshooting
You might encounter a `Unsupported platform` error when you run `npm install`. To fix this, you will need to delete `node_modules` and `package-lock.json` and run `npm install`. This should install all the necessary packages needed to run the app.