We're so glad you want to contribute! We're sure your contribution will be amazing 💖
- Please follow the syntax styles defined by the files you're working in. If you create a PR with inconsistent coding styles (yes this may mean tabs vs spaces) you may be asked to change your formatting before your PR is accepted.
- Please write clear, concise commit messages that describe the changes you've made. This helps reviewers understand your work quickly without needing to decypher your changes.
- Please test your code. Ensure that it, at the very least, builds. We'll explain how to do this later in this page.
- Please keep your PR focused. By this, we mean for you not to go into a rabbit hole where you fix 100 other issues, but rather stick to the problem that your changes are supposed to fix.
- Please stay up to date with the
main
branch. This may mean needing to resolve merge conflicts. - Building on point 2, please document the changes you've made. Creating a small message which you update to detail the overall progress of your PR is helpful for reviewers to quickly understand how close your PR is to completion.
First, make sure you have forked the repository so that you have write access.
git clone https://github.com/[YOU]/client --recursive
cd client
pnpm i
pnpm build
- Clone the client repository to your local machine:
$ git clone https://github.com/[YOU]/client --recursive
(Note --recursive
to also clone the i18n submodule)
- Move to the directory you just cloned:
$ cd client
If you cloned the repository without installing the submodule, do so now:
$ git submodule init
$ git submodule update --remote --merge
- Install dependencies:
(You may need to run npm i -g pnpm
first to install pnpm
)
$ pnpm i
- Build the project:
$ pnpm build
If you have nodemon
installed, you can also just run it:
$ nodemon
to automatically rebuild upon changes.
$ cd dist && python3 -m http.server [PORT]
$ cd dist && http-server -p [PORT]
$ bun serve [PORT]
(Note that here you don't need to cd dist
. bun serve
automatically yields files from the dist
directory)
All of these methods should open a local server on port [PORT] which hosts the files in the dist
directory.
In your existing Unbound installation:
- Go to
Discord Settings
>Unbound
>Developer Settings
- Change
Custom Bundle URL
tohttp://[LOCAL_IP]:[PORT]/unbound.js
- Restart your Discord app
- Checkout a new branch:
$ git checkout -b feature/xyz
This should automatically switch to your new branch. If it didn't, you should switch there manually:
$ git checkout feature/xyz
- Make your changes:
$ git commit -m 'Added a feature! Fixed 39 bugs!'
$ git push
- Create a pull request
- You're done! Yay!