HyperHQ Plugin Developer Onboarding
Get started building HyperHQ plugins in under 10 minutes!
This guide is specifically designed for third-party developers from all programming backgrounds. No complex setup, no steep learning curve - just simple, practical steps to get you building.
Why Build HyperHQ Plugins?
- 🎮 Extend HyperHQ: Add new features to the most powerful arcade frontend
- 🌍 Global Reach: Thousands of arcade enthusiasts worldwide
- 🛠️ Use Any Language: Python, C#, Go, JavaScript, Rust - your choice!
- 🔒 Safe & Isolated: Plugins can't break HyperHQ or other plugins
- 🚀 Share Innovation: Contribute to the arcade gaming community
What You Can Build
| Plugin Type | Examples | Difficulty |
|---|---|---|
| Utilities | File organizers, ROM scanners, backup tools | ⭐ Easy |
| Media | Video converters, image processors, slideshows | ⭐⭐ Medium |
| Arcade Hardware | LED controllers, coin door integration, marquee displays | ⭐⭐⭐ Medium |
| Game Integration | MAME setup wizards, Steam imports, GOG integration | ⭐⭐⭐⭐ Hard |
| Custom Frontends | Specialized interfaces, mobile controllers, web dashboards | ⭐⭐⭐⭐⭐ Expert |
Quick Start (Choose Your Path)
🐍 Python (Recommended for Beginners)
Why Python? Easy syntax, great libraries, excellent documentation.
# 1. Download template
wget https://hyperhq.dev/templates/python-starter.zip
unzip python-starter.zip
cd python-starter
# 2. Build and test
./build.sh # Creates plugin.exe
./test.sh # Validates everything works
# 3. Customize and distribute
# Edit plugin.py and plugin.json
# Share with the community
Time to first working plugin: 5 minutes
⚡ JavaScript/Node.js (Great for Web Developers)
# 1. Download template
wget https://hyperhq.dev/templates/nodejs-starter.zip
unzip nodejs-starter.zip
cd nodejs-starter
# 2. Build and test
npm install
npm run build
npm test
# 3. Ready to distribute!
Time to first working plugin: 7 minutes
🚀 C# (Best Performance)
# 1. Download template
wget https://hyperhq.dev/templates/csharp-starter.zip
unzip csharp-starter.zip
cd csharp-starter
# 2. Build and test
dotnet build
dotnet test
# 3. Publish ready executable
dotnet publish -c Release
Time to first working plugin: 10 minutes
How Simple Is It?
1. Your Plugin is Just 4 Methods
class MyPlugin:
def initialize(self, settings):
"""Setup with user settings"""
return "initialized"
def execute(self, action_data):
"""Do the main work"""
return {"success": True}
def test(self, _):
"""Health check"""
return True
def shutdown(self, _):
"""Clean up"""
return "ok"
2. Communication is Just JSON
# HyperHQ sends:
{"id":"123","method":"execute","data":{"action":"scan_files","path":"/roms"}}
# Your plugin responds:
{"id":"123","type":"response","data":{"files_found":1337}}
3. UI is Automatic
Define your settings in JSON, HyperHQ generates the UI automatically:
{
"settings": [
{"key": "apiKey", "name": "API Key", "type": "text"},
{"key": "enabled", "name": "Enable", "type": "boolean"},
{"key": "romPath", "name": "ROM Path", "type": "directory"}
]
}
HyperHQ creates a beautiful settings form automatically. No HTML, no CSS, no JavaScript required.
Developer Resources
📚 Documentation (Beginner-Friendly)
- Plugin Developer Guide - Complete tutorial with examples
- API Reference - Quick reference for all methods
- Architecture Overview - Technical deep-dive
🎯 Templates (Ready to Use)
| Language | Download | Features | Best For |
|---|---|---|---|
| Python | python-starter.zip | Debug logging, examples, build scripts | Beginners, rapid prototyping |
| Node.js | nodejs-starter.zip | Modern JS, async/await, packaging | Web developers |
| C# | csharp-starter.zip | High performance, .NET 6 | Performance-critical plugins |
| Go | go-starter.zip | Small binaries, fast execution | System utilities |
| Rust | rust-starter.zip | Memory safety, maximum performance | Advanced developers |
Each template includes:
- ✅ Complete working plugin
- ✅ Build and test scripts
- ✅ Example settings and UI
- ✅ Debug tools
- ✅ Packaging automation
- ✅ Detailed README
🛠️ Developer Tools
- Plugin Validator - Validates your plugin package before publishing
- Debug Console - Real-time message inspection during development
- Performance Profiler - Memory and CPU usage monitoring
- Settings Generator - Visual tool for creating plugin.json
Common Questions
Q: Do I need to know anything about HyperHQ internals?
A: No! Your plugin communicates via simple JSON messages. HyperHQ handles all the complex stuff.
Q: What if my plugin crashes?
A: Plugins run in separate processes, so crashes can't affect HyperHQ or other plugins.
Q: Can I access HyperHQ's database?
A: Yes! Request data through the API: {"method": "getRomList", "data": {"system": "arcade"}}
Q: How do I handle long-running operations?
A: Send progress updates: {"type": "event", "data": {"progress": 50, "message": "Processing..."}}
Q: What about plugin security?
A: Plugins declare required permissions upfront. Users see exactly what your plugin can access.
Q: How do I distribute my plugin?
A: Package your plugin as a ZIP file and distribute through your preferred channels.
Next Steps
- Pick a template that matches your preferred language
- Download and test - get the "Hello World" plugin working
- Read the guide - understand the concepts and examples
- Build something small - file utility, simple integration, etc.
- Join the community - Discord server with active developers
- Share your creation - distribute your plugin to the community
Ready to Start Building?
Download your preferred starter template and build your first HyperHQ plugin today!
The arcade community is waiting for your creativity. Whether you build simple utilities or complex integrations, there's an audience ready to use your quality plugins.
Time from download to working plugin: Under 10 minutes Time from idea to finished plugin: 1-2 days
Let's build the future of arcade gaming together! 🚀