Monorepo managed with Turborepo and pnpm.
gamearr does not provide game files. Use this project only with backups of games you legally own. You are responsible for complying with the terms of service for any providers you access through this software.
apps/api– NestJS API serverapps/worker– background worker built with Nestapps/web– React app bootstrapped with Vite and TypeScriptpackages/domain– shared domain logic in TypeScriptpackages/adapters– provider and download clientspackages/storage– Prisma client and migrationspackages/shared– zod schemas, logger, and config utilities
Requires Docker Compose to be installed.
Copy .env.example to .env and set the POSTGRES_PASSWORD value. Then start the supporting services:
docker compose -f infra/docker-compose.yml up -dData is persisted to the data/ directory.
pnpm -w install
pnpm -w devpnpm -w build-
Ensure all changes have an associated changeset.
-
Run the changelog task to apply version bumps and regenerate
CHANGELOG.md:make changelog
-
Commit the result and create a tag:
git commit -am "chore(release): vX.Y.Z" git tag vX.Y.Z git push origin --tags
The release workflow builds and publishes artifacts for the tagged version.
Additional guides and references live in the docs directory.