Thanks for being interested in contributing! This document contains guidance on how to develop on this project.
To work on this project, you will need the following things:
- Docker for running a database and typesense locally
- A Discord application
- Node.js 18+
- Git
- Some code-editor of your choice suitable for TypeScript development
- (Ideally) YesBot running
- Clone the repository (or a fork of it):
git clone [email protected]:yes-theory-fam/yestheory.family
- Install the package manager yarn through corepack:
corepack enable && corepack prepare --activate
- Install the packages:
yarn
- Start the development database and typesense:
docker compose up -d
- Copy the various .env(.local).example files to .env(.local) and fill them in
- Seed some initial data into the CMS:
cd packages/cms && yarn seed
- In separate terminals / processes start (in that order; wait for each process to have started properly before
launching the next as they depend on each other)
- The CMS:
cd packages/cms && yarn dev
- The Node.js Backend:
cd packages/server && yarn dev
- The Next.js Frontend:
cd packages/web && yarn dev
- The CMS:
When opening a pull request, include your motivation behind it in the description, linking any related issues.
Try to use conventional commits.
Automated checks are run on each push to a PR. If one fails, read through the log and see why it failed, correct the
mistake, then commit and push again. Most commonly a pipeline will fail because of formatting or linting errors. You can
easily fix most (not always all) of those issues by running yarn lint
in the project directory. It is also
recommended to set up your code editor to automatically fix Prettier and ESLint errors on saving a file.
If you have any other questions, ping the mod Michel over on the Yes Theory Fam Discord server, or ask someone to ping him if you are not sure which the right one is :)