If you want to contribute code to Akira but have never used Node.js or Prisma before, this guide will walk you through the entire process from zero to a running development server.
1. Install prerequisites
Before you can run the project, your computer needs the right software to understand the code. You will need Git (to download the code) and Node.js (which includes npm, the tool that installs our project dependencies).
To install these tools, run the following commands or use the installers for your operating system:
- Windows 11: Download and run the official installers from the Node.js website and Git website. Alternatively, if you use Winget, open PowerShell and run
winget install OpenJS.NodeJSandwinget install Git.Git. - Arch Linux (CachyOS, SteamOS, etc.): Open your terminal and install the packages using your preferred package manager (e.g.,
sudo pacman -S nodejs npm git,paru -S nodejs npm git, oryay -S nodejs npm git).
2. Clone the repository
Open your terminal (or Command Prompt/PowerShell) and download the project files using Git:
git clone https://github.com/thepotatogamer0/Akira.git
cd Akira
3. Install project dependencies
The project relies on external libraries (like React and Discord.js). npm (Node Package Manager) will read the package.json file and download everything you need.
In the root of the Akira folder, run:
npm install
4. Prepare the database
Akira uses Prisma to talk to the database. For local development, it creates a simple SQLite file so you don’t have to configure a full database server.
Generate the database schema and the local database file by running:
npx prisma db push
5. Start the development servers
Because Akira is a monorepo, it has several moving parts (the Discord bot, the WebUI server, the WebUI client, and the Astro docs site).
Open separate terminal windows for each part of the project you want to work on and run their start commands:
-
To run the Astro documentation site:
bashcd docs npm run dev
-
To run the WebUI (requires both Client and Server): In one terminal window, start the server:
bashcd webui/server npm run dev
In a second terminal window, start the client:
bashcd webui/client npm run dev
-
To run the Discord Bot (required for WebUI account creation): From the root directory of the project, run:
bashnpm run dev
You are now ready to make changes to the code!