Skip to content

cppserbia/mona-mayhem-cpp-wasm

 
 

Repository files navigation

🎮 Mona Mayhem

VS Code & GitHub Copilot CLI Workshop — Build a GitHub Contribution Battle Arena

A workshop template for building a retro arcade-themed website with C++/WebAssembly and Astro that compares GitHub contribution graphs of two users. Almost all logic — server-side parsing, client-side scoring, DOM manipulation, events, and fetch — is written in C++ compiled to WASM via Emscripten. This is the starting point — you'll build the app step by step using GitHub Copilot.

Mona Mayhem Screenshot What you'll build by the end of the workshop

📚 Workshop

The workshop supports two tracks — follow the one that matches your preferred workflow:

  • VS Code track — Chat, Plan Mode, Agent Mode, background agents, and editor-native review loops
  • CLI trackcopilot, @file context, /plan, autonomous edits, /fleet, /delegate, and /review
Part Title Copilot Focus
00 Overview Track selection and learning goals
01 Setup & Context Engineering Instructions, permissions, and environment setup
02 Plan & Scaffold Planning the API and page architecture
03 Build the Game Agentic implementation and iteration
04 Design-First Theming Visual design planning and implementation
05 Polish & Parallel Work Parallelism, reviews, and quality passes
06 Bonus & Extensions Open-ended feature ideas and extra Copilot experiments

🚀 Quick Start

  1. Create your own repo first by either:
    • clicking Use this template to create a new repo, or
    • forking this repository.
  2. Choose your workshop path:
    • VS Code: clone your repo and open it in VS Code.
    • GitHub Copilot CLI: clone your repo locally, install copilot, and work from your terminal.
  3. Follow the workshop guide

Prerequisites

Shared

  • GitHub Copilot (Pro, Business, or Enterprise)
  • Git
  • Node.js 22+
  • CMake (brew install cmake on macOS, apt install cmake on Linux, or cmake.org)
  • Emscripten SDK (auto-installed by npm install)

VS Code track

  • VS Code v1.107+
  • GitHub Copilot extension signed in

CLI track

  • GitHub Copilot CLI (copilot)
  • Node.js 22+ if you plan to install the CLI via npm install -g @github/copilot
  • Or Homebrew / WinGet if you prefer a native package manager install

Technology Stack

  • Language: C++ (compiled to WebAssembly via Emscripten)
  • Framework: Astro v5 (HTTP serving and API routes)
  • Runtime: Node.js with @astrojs/node adapter
  • C++ Libraries: nlohmann/json (JSON parsing), Emscripten val.h (DOM interop)
  • Build: CMake + Emscripten (emcmake), with Asyncify for async client-side code
  • Font: Press Start 2P (retro gaming font)
  • API: GitHub's contribution graph API

License

MIT

About

VS Code GitHub Copilot workshop — build a retro arcade-themed app that compares GitHub contribution graphs in a battle arena format

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 98.7%
  • Other 1.3%