| name | s-develop |
| description | Core WoW addon development patterns using Ace3 framework and Blizzard UI APIs. Covers event-driven design, SavedVariables, frame architecture, and API resilience. Use when building addons, designing systems, or integrating libraries. Triggers: addon, WoW, Lua, Ace3, frame, event, SavedVariables, architecture.
|
Developing WoW Addons
Expert guidance for building World of Warcraft addons with a focus on testability and maintenance.
Related Commands
- c-develop - Build or extend addon features workflow
CLI Commands (Use These First)
MANDATORY: Always use CLI commands before manual exploration.
| Task |
Command |
| Create Addon |
mech call addon.create -i '{"name": "MyAddon"}' |
| Sync Junctions |
mech call addon.sync -i '{"addon": "MyAddon"}' |
| Validate TOC |
mech call addon.validate -i '{"addon": "MyAddon"}' |
| Check Libraries |
mech call libs.check -i '{"addon": "MyAddon"}' |
| Sync Libraries |
mech call libs.sync -i '{"addon": "MyAddon"}' |
Capabilities
- Event-Driven Design — Register events, handle callbacks, bucket patterns
- Frame Architecture — Three-layer design (Core/Bridge/View), layouts, templates
- SavedVariables — Database design, AceDB, versioning, defaults
- Combat Lockdown — Protected functions, taint avoidance, secure handlers
- API Resilience — Defensive programming, C_ namespaces, secret values
Routing Logic
Quick Reference
Create New Addon
mech call addon.create -i '{"name": "MyAddon", "author": "Name"}'
mech call addon.sync -i '{"addon": "MyAddon"}'
Core Principles
- Headless Core: Keep logic in pure Lua functions (Layer 1)
- Event-Driven: Avoid
OnUpdate polling; use events (Layer 2)
- Defensive API: Always check for
nil and use pcall for uncertain APIs
- Combat Aware: Never modify protected frames in combat