The watch for WoW addons

Patch day shouldn’t be a fire drill.

AddonSentry keeps the exact API surface for the live World of Warcraft client build. Every pull request is validated against it — and when a new build lands, a patch-break scan checks your addons against the new API and tells you precisely which lines broke, before your players ever see a Lua error.

Install the app

Free validation & patch-break scanspay-as-you-go AI fixesno card to start

Build-accurate definitions — Retail, Classic Era, MoP Classic, Burning Crusade Classic live, more rolling out
Retail 12.0.xClassic Era 1.15.xMoP Classic 5.5.xCataclysm ClassicsoonWrath ClassicsoonBurning Crusade Classic 2.5.x
AddonSentry / validation · pull request #2482 failed
BigWigs/Core.lua:412
Undefined field GetSpellInfo on C_Spell for this build.
lua-language-server · signatures
BigWigs/Options.lua:88
Accessing global UnitAura — removed; use C_UnitAuras.
luacheck · existence
BigWigs/Plugins/Bars.lua:233
Argument 2 of SetPoint expects Region?, got string.
lua-language-server · nil-safety
Patch-break detected
Scanned against build 11.1.5.61240 — 7 lines across your addons reference removed API.
Tracking issue opened with every breaking line, by file and number.

Every major patch quietly rewrites the API your addon stands on.

Functions vanish. C_* namespaces get reshuffled. A field you’ve called for years returns nil. You don’t find out from a changelog — you find out from a screenshot of a Lua error, posted in your Discord, minutes after the servers come up. AddonSentry exists so that never happens to you again.
What stands the watch

The same pipeline that keeps the Peavers suite green — hosted for you.

Two analysers, run against definitions regenerated for every client build. Not a generic linter guessing at the API: the real surface, build by build.

01 / VALIDATION

Build-accurate checks on every PR and push.

luacheck catches the existence problems — undefined globals, C_* and Enum field typos, syntax. lua-language-server goes deeper into signatures: argument and return types, nil-safety. Both post straight to a GitHub Check Run, and we annotate only the lines your change actually touched.

412local name = C_Spell.GetSpellInfo(id)✗ existence — GetSpellInfo moved to C_Spell.GetSpellInfo(...).name in this build
The differentiator

Patch-break detection.

We already hold the new API surface before you do. When a build lands, run a patch-break scan and we check every active addon against it, opening a tracking issue listing exactly which lines break — so you ship the fix on launch day, not after the bug reports.

03 / AUTO-FIX

Fixes written by Claude.

Turn any finding into a minimal, reviewable pull request. Gated by your auto-fix mode and credits — nothing merges without you.

- name = UnitAura(unit, i)
+ name = C_UnitAuras.GetAuraDataByIndex(unit, i).name
04 / ZERO-CONFIG

Install once. Stand down.

Add the GitHub App to your addon repos and you’re done — no CI to write, no toolchain to pin, no definitions to maintain. The build-accurate definition set lives on our infra. You write Lua; we keep watch over the API beneath it.

How it works

Three steps to a quiet patch day.

1

Install the GitHub App

Pick the addon repos you want watched. Public or private — it takes about a minute.

github.com/apps/addonsentry
2

Open a pull request

A Check Run posts back against the live build, annotating the lines your change touched.

luacheck + lua-language-server
3

Run a patch-break scan

When a new build lands, scan your addons against it — we open a tracking issue with the exact lines that broke, and an optional fix to review.

patch-break scanner
Pricing

The watch is free. You only pay when we write code.

Validation and patch-break scans cost nothing. AI-generated fix PRs run on pay-as-you-go credits — spend them only when you choose to.

The Watch
$0 / forever

Everything you need to never get blindsided by a patch.

  • Unlimited PR & push validation
  • Patch-break scans against new builds
  • Tracking issues + GitHub Checks
  • Health dashboard, public & private repos
Fixes
Pay-as-you-go · credits

Add on when you want the fix written for you.

  • Everything in The Watch
  • AI fix PRs written by Claude
  • Auto-fix mode, gated by your credits
  • Each fix re-validated before the PR opens
Install the app
Put it on watch

Ship addons that survive the patch.

Install the GitHub App, point it at your repos, and let AddonSentry stand the watch over your Lua.

Install the app