Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Before jumping into a PR be sure to search existing PRs or issues for an open or closed item that relates to your submission.
The development branch is main
. This is the branch that all pull
requests should be made against. The changes on the main
branch are tagged into a release monthly.
To develop locally:
-
Fork this repository to your own GitHub account and then clone it to your local device.
-
Create a new branch:
git checkout -b MY_BRANCH_NAME
-
Install pnpm and turbo globally:
npm install -g pnpm npm install -g turbo
-
Install the dependencies with:
pnpm i
-
Create environment files
-
For the API, you need to configure the
.env
file. You can copy the example file and edit it. Mostly you need to configure the database connection. Default values of those are inapps/api/docker-compose.yml
:cp apps/api-v2/.env.example apps/api-v2/.env // then edit .env for the database connection variables as specified // see docker-compose.yml
-
-
Start developing and watch for code changes:
-
For the API, you need to run infra pieces that the project depends locally (e.g the main MySQL database), then run the migrations on the database. Make sure you have Docker installed and running, then at the project root, run:
pnpm db:setup
Then run the API:
pnpm dev:api
-
For the desktop, just do:
pnpm dev:desktop
-
or if you like both:
-
You can build the entire project with:
pnpm build
If you want to build a specific package, you can do so with:
turbo build --scope=<package name>
Please be sure that you can make a full production build before pushing code.
More info on how to add new tests coming soon.
To check the formatting of your code:
pnpm lint
If you get errors, be sure to fix them before committing.
- Be sure to check the "Allow edits from maintainers" option while creating you PR.
- If your PR refers to or fixes an issue, be sure to add
refs #XXX
orfixes #XXX
to the PR description. ReplacingXXX
with the respective issue number. See more about Linking a pull request to an issue . - Be sure to fill the PR Template accordingly.