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 and Discord commands
Copy .env into the repository root and set DISCORD_TOKEN, DISCORD_CLIENT_ID, DISCORD_GUILD_ID, and DISCORD_DROP_CHANNEL_ID. DATABASE_URL can stay file:./prisma/akira.db.
Akira uses Prisma with a local SQLite file. npm run init applies migrations, checks the card art, seeds the catalog, and registers slash commands:
npm run init
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!