Thanks for contributing! If you have any suggestions on how to improve these contribution guidelines, please let us know in the issue tracker.
Before working on any changes, start by opening an issue describing the problem or enhancement you'd like to tackle.
Some commands will assume you have the Github CLI installed, if you haven't, consider installing it, but you can always use the Web UI if you prefer that instead.
In order to contribute to this project, you will need to fork the repository:
gh repo fork pluv-io/pluv
Then, clone it to your local machine:
gh repo clone <your-github-name>/pluv
This project uses pnpm as its package manager. Install it if you haven't already:
npm install -g pnpm
Then, run the following commands in the root directory of the project:
pnpm install
pnpm build
# in project root directory
pnpm dev
This will start a watcher in parallel which builds all packages/*
on any file change, and should run the app from the e2e tests on port 3100.
Install docker and docker-compose if you haven't already.
# in project root directory
# spin up services needed for tests
pnpm services:start
# run tests
pnpm test
# in project root directory
pnpm lint
When making commits, make sure to follow the conventional commit guidelines by running commitizen:
git add <file> && pnpm commit
Check that your code follows the project's style guidelines by running:
# in project root directory
pnpm lint
Please also add integration tests of your changes if applicable.
If your change should appear in the changelog, i.e. it changes some behavior of either the CLI or the outputted application, it must be captured by changeset
which is done by running
pnpm changeset
and filling out the form with the appropriate information. Then, add the generated changeset to git:
git add .changeset/*.md && git commit -m "chore: add changeset"
When all that's done, it's time to file a pull request to upstream:
gh pr create --web
and fill out the title and body appropriately. Again, make sure to follow the conventional commit guidelines for your title.
This documented was inspired by the contributing guidelines for t3-oss/create-t3-app.