-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Foundry is a small Blizzard-first library for World of Warcraft addon authors — an alternative to Ace3 for authors who want one, built on Blizzard's modern API surface. At runtime it is exposed as _G.Foundry_1_0.
This wiki is the API reference. For what Foundry is and why it exists, start with the README.
New to WoW addons? Start here →
Each module is self-contained: declare ## Dependencies: Foundry-1.0 and use only the modules you need.
| Module | What it bridges | Status | Reference |
|---|---|---|---|
| Commands | Slash commands — Blizzard's SlashCmdList + SLASH_* registration system |
Available | Foundry.Commands |
| Events | Game events — Blizzard's frame event system (RegisterEvent/OnEvent, RegisterUnitEvent) |
Available | Foundry.Events |
| Lifecycle | Addon startup — the ADDON_LOADED, PLAYER_LOGIN, and PLAYER_LOGOUT events |
Available | Foundry.Lifecycle |
| DB | Saved data — Blizzard's SavedVariables persistence |
Available | Foundry.DB |
| List | Scrolling lists — Blizzard's ScrollBox system (ScrollBoxListView, DataProvider, ScrollUtil) |
Available | Foundry.List |
| Tooltip | Tooltip hooks — the modern TooltipDataProcessor system |
Planned | — |
| Menu | Context menus — the modern Blizzard_Menu / MenuUtil system |
Planned | — |
local F = _G.Foundry_1_0
if not F then
error("MyAddon requires Foundry-1.0. Please install or enable it.")
endFoundry on its own does nothing — it only runs when an addon depends on it.
Foundry ships one module at a time, and each module is validated against a real consuming addon before it lands. Commands, Events, Lifecycle, DB, and List are available now (consumers: Homestead and BawrSpam). The remaining modules — Tooltip and Menu — are planned and ship as their consumers exercise them.
There are no dates here on purpose: a module ships when an addon has actually proven it, not on a schedule. To propose or pull forward a module, see Adding new modules in the README.