MakeCode Games brings forward and organizes games created by the MakeCode Arcade community. Games are ingested from the MakeCode forums, indexed for search, and presented here so they're easier to browse and discover. Be sure to visit the forums to comment on games and leave reactions.
This project is not developed, affiliated with, or endorsed by Microsoft, the owner of MakeCode Arcade.
- Next.js (App Router)
- Supabase for the database and auth
- Algolia for search
- Tailwind CSS
- Vitest + Testing Library for tests
-
Install dependencies:
pnpm install
-
Copy the environment example and fill in your own values:
cp .env.local.example .env.local
You'll need a Supabase project (URL, service role key, anon key) and an Algolia application (app ID, search key, write key). See
.env.local.examplefor the full list of variables. -
Apply the database schema/migrations in
supabase/migrationsto your Supabase project. -
Run the development server:
pnpm dev
Open http://localhost:3000 to see the result.
pnpm dev– start the development serverpnpm build– build for productionpnpm start– run the production buildpnpm lint– run ESLintpnpm test– run the test suite with Vitest
The scripts/ directory also contains one-off maintenance scripts (e.g. setup-algolia.ts). The recurring forum ingest lives in the separate MakeCodeGamesIngest server (INGEST_URL).
Issues and pull requests are welcome. Before opening a PR:
- Run
pnpm lintandpnpm testand make sure both pass. - Keep changes focused and include tests for new behavior where practical.
This app is built to deploy on Vercel, but any host that supports Next.js should work. Make sure the environment variables listed in .env.local.example are configured for the deployment target, and that CI has access to a SUPABASE_PROJECT_ID variable and the Supabase secrets needed to apply migrations (see .github/workflows/apply-schema.yml).