This monorepo contains a Discord bot built with discord.js and discordx, featuring decorator support and localization with typesafe-i18n. For the web application, it uses Next.js, SWR and Tailwind CSS.
I wanted to learn about monorepos and how to use them. I chose to use pnpm as the package manager and turbo as the build tool because of their speed and simplicity.
For more information about some of the apps, see their README
files.
The client is a powerful Discord bot built using Discord.js. It also has a localization system built-in using typesafe-i18n and a command handler using discordx.
The web application is a Next.js application that is used to interact with the Discord API. It is written in TypeScript and uses SWR for data fetching and Tailwind CSS for styling.
This package contains a Prisma schema and client for the database that can be shared between all applications.
This package contains some common TypeScript configurations files (tsconfig.json
).
# Clone the repository
git clone
# Install dependencies
pnpm install
# Build the packages
pnpm build
This template is also configured to run in a Docker container using Docker Compose. To run the bot in a container, fill all the .env
files with the correct values and run the following command:
docker-compose up -d