Skip to content

Latest commit

 

History

History
75 lines (49 loc) · 3.27 KB

File metadata and controls

75 lines (49 loc) · 3.27 KB

Contributing to Quaver

Hi! I'm glad to see that you're interested in helping to make Quaver better.

Before we proceed, there are a few things to take note of.

It will make the development process a lot simpler and easier to understand.

Prerequisites

In order to ensure that Quaver runs during development, the prerequisites in README.md must be satisfied first.

I highly recommend using Visual Studio Code if you do not currently use an IDE.

Here are the additional prerequisites for development:

Setting up the environment

Choose a safe place on your drive.

There's no need to make a folder/directory as it will be generated when you run the commands in the next step.

Run git clone https://github.com/ZPTXDev/Quaver.git to clone the repository to the 'Quaver' folder/directory.

Then, navigate to the newly created folder/directory through your terminal and run bun i or pnpm i to install all dependencies.

Important

For pnpm, ensure you have your NODE_ENV environment variable set to development to install dev dependencies as well. This is crucial for your build to succeed.

Finally, run bun run build or pnpm run build to build the project.

Follow the steps in README.md from step 4 onwards to complete the setup.

If you're able to run Quaver through bun run start or pnpm start, then your environment is set up correctly!

Tip

To make development with locales easier, run bun run generate-locale-types or pnpm run generate-locale-types to generate TypeScript types for locales. This enables auto-completion and type checking when working with locales. Additionally, hovering over locale keys will show you the corresponding locale string.

ESLint

This project uses ESLint.

The configuration file is provided at the base of the repository here.

To ensure ESLint is enabled and linting, you must have it installed on your IDE as well.

Visual Studio Code

  1. From the IDE, open Extensions on the left panel
  2. Search for ESLint in the Marketplace
  3. Click Install

IntelliJ IDEA Ultimate / Webstorm

ESLint is already integrated into your IDE.

Other IDEs

I can't guarantee that the steps are the same, but it should be similar.

Try searching for ESLint installation steps on Google for your IDE.

Documentation and References

discord.js

Commit messages

This project uses Semantic Commit Messages.

Pull requests are checked for Semantic Commits automatically, meaning checks will fail if you do not adhere to them.

Pull requests

Once you are ready to commit your changes, create a pull request, merging to the next branch.

You may request a review when you are ready. As long as the checks are passing, and there isn't any reason to deny your pull request, it'll be merged.