First off, thanks for taking the time to contribute! ❤️
All types of contributions are encouraged and valued. See the Table of Contents for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉
And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
- Star the project
- Tweet about it
- Refer this project in your project's readme
- Share the project with others and tell your friends about it
This section will guide you through the process of setting up the project for development.
- Git
- Node.js
- Version 20 or higher
- pnpm
- Supabase
- This project uses Supabase for the database, so you will need to create an account and get your URL and API key or have a local Supabase instance running
These are optional, they're not required for development if you don't plan on changing the features that use them.
- Vercel
- This project uses Vercel for hosting and deployment, so your fork should be Vercel compatible
- Cloudinary
- Cloudinary is used for image hosting, if you plan on changing the upload mechanism, you will need to create an account
- Firebase Cloud Messaging
- Firebase Cloud Messaging is used for sending device notifications, if you plan on changing the notification mechanism, you will need to create an account
- Resend
- Resend is used for sending emails, if you plan on changing the email mechanism, you will need to create an account. To change the email templates check the MinionAH Next project.
-
Clone the repository
git clone https://github.com/DarthGigi/MinionAH.git
-
Go into the directory
cd MinionAH
-
Install the dependencies
pnpm install
-
Add an
.env
file with the same contents as.env.example
and fill in the values. -
Run the database initialization script
pnpm prisma:db:push:dev && pnpm prisma:generate:dev
-
Start the development server
pnpm dev
This will get rid of TypeScript errors and warnings.
-
Open localhost:5173/signup to make an account.
-
After making an account, add your ID to the
ADMIN_ID
field in the.env
file. -
Open localhost:5173/dashboard/minions, click the "Actions" button, and then click "Update every minion". This will add all the Hypixel SkyBlock minions to the database.
-
Done! You can now start making changes to the code and see them reflected in the browser.
Before making a pull request, please make sure that:
- Your code is formatted with Prettier.
- Your code does not have any TypeScript errors or warnings.
- Your changes do not break any existing functionality (unless that's the point of the PR).
- Your code builds successfully locally.
- Your code builds and deploys successfully on Vercel.
If you find a bug or have a feature request, please open an issue with the relevant template. Make sure to check if there is already an issue for it before opening a new one. If there is, you can comment on the existing issue to show your support for it.