A Chrome extension that provides AI-powered assistance for MakeCode Arcade projects. Get help with debugging, code explanations, and suggestions directly within the MakeCode editor.
- Automatic Code Extraction: Reads your project code from MakeCode's IndexedDB storage
- Editor Mode Detection: Automatically detects if you're using Blocks or JavaScript/TypeScript editor
- Adjustable Complexity: Slider to control explanation level from beginner-friendly (ages 8-10) to advanced
- Streaming Responses: Real-time AI responses using Google Gemini API
- Context-Aware Help: AI understands MakeCode Arcade APIs and provides appropriate guidance
- Clone or download this repository
- Open Chrome and navigate to
chrome://extensions - Enable "Developer mode" (toggle in top right)
- Click "Load unpacked" and select the extension folder
- Click the extension icon and enter your Google Gemini API key
- Go to Google AI Studio
- Sign in with your Google account
- Create a new API key
- Copy the key and paste it in the extension settings
- Open a project in MakeCode Arcade
- Click the purple chat button that appears on the page
- The side panel will open with your code loaded
- Adjust the complexity slider based on your experience level
- Ask questions about your code or request help
| Level | Description |
|---|---|
| 1 | Very simple words, fun analogies, encouraging |
| 2 | Simple language, basic programming terms |
| 3 | Standard terminology, clear examples |
| 4 | Technical terms, patterns, optimizations |
| 5 | Concise, expert-level explanations |
The extension automatically detects which editor you're using:
- Blocks Editor: AI provides instructions using block names and categories (e.g., "Drag the 'set mySprite' block from Sprites")
- JavaScript Editor: AI provides TypeScript code examples using MakeCode APIs
arcade-makecode-ai/
├── manifest.json # Chrome extension manifest (V3)
├── background.js # Service worker for API calls
├── content.js # Injected script for MakeCode pages
├── popup/
│ ├── popup.html # Settings popup UI
│ ├── popup.css # Popup styles
│ └── popup.js # Popup logic
├── sidepanel/
│ ├── sidepanel.html # Chat interface
│ ├── sidepanel.css # Chat styles
│ └── sidepanel.js # Chat logic
└── icons/
├── icon16.png
├── icon48.png
└── icon128.png
chrome.storage.sync- Secure API key storagechrome.sidePanel- Chat interfacechrome.scripting- Code extraction from page contextchrome.tabs- Tab communication
The extension reads project data from MakeCode's IndexedDB database:
- Database:
__pxt_idb_workspace_arcade___default - Object Store:
texts - Structure:
{ id, files: { "main.ts": "...", "main.blocks": "..." } }
- Model: Google Gemini (configurable, default: gemini-3-flash-preview)
- Streaming: SSE-based streaming for real-time responses
- Context: Includes user's code and editor mode in system prompt
- API keys are stored locally in Chrome's sync storage
- Code is only sent to Google's Gemini API when you ask a question
- No data is stored on external servers
- Google Chrome (version 116 or later for side panel support)
- Google Gemini API key
- Active internet connection
MIT License