Documentation

Description

DMK began as a set of quality-of-life improvements for the Anniversary client: replacement frames, bags, maps, and auction tools built to play with.

It then became a testbed for building with AI — a place to try ideas quickly against a real, running system, with the suite's shared libraries and data conventions keeping the experiments coherent.

It is now also a data pipeline. The suite captures gameplay data, ships it off the client into warehouses, and the analysis comes back as better decisions in game: gear, gold, and rotation min-maxing grounded in real numbers.

Feature timeline

When each feature landed. Full notes on Changelog.

VersionDateAdded
v1.0.02026-07-25First shared build: unit frames, threat window, damage meter and simulation, world map and minimap, bags, info bars, gold/xp charts, auction scanning and search, character data and logs, combat engine.
v1.1.02026-07-29Healing panel, gear sets, PartyIntake prediction engine.
v1.2.02026-07-29Group sync: threat standings, in-flight heals, presence over addon messages.
v1.2.12026-07-30Positional telemetry, range-band radar, dungeon corridor markers.
v1.3.02026-08-01Chat replacement, persistent chat capture, positional sync, radar position solver.
v1.3.12026-08-04Always-on health text on every frame; combat capture v2 event grammar.

Repositories

Every repo in the WoW group contributes to the suite: the addon itself, the game-data extraction that feeds its generators, the ingest pipelines that warehouse its output, and the sites that read the warehouses.

RepositoryLanguageCommitsDescription
wow-dmkLua52The suite: the DMK core plus 20 plugins.
wow-dmk-webHTML/JS1This site. Static pages plus a JSON data layer, served by nginx.
wow-dmk-dataPython7Static-data pipeline; warehouses source game data for the generators.
wow-db2Rust41DB2-to-JSON extractor; exports client database tables.
wow-dataAssets15Extracted game data: DB2 JSON, CASC files, listfiles, interface art.
wow-ah-genPython32Auction house ingest; SavedVariables scans into the warehouse.
wow-ah-webTypeScript38Auction house analytics site.
wow-ah-apiPython9Auction house API.
wow-armory-genPython25Armory ingest; character captures into the warehouse.
wow-armory-apiTypeScript1Armory API.
wow-armory-webTypeScript1Armory site.
wow-modmanagerTypeScript21Third-party addon manager for the Anniversary client.
wow-dmklegacyLua78The monolith predecessor of the suite; reference source.
wow-dmkahlegacyLua15The auction house monolith predecessor; reference source.

Steps

Releases are versioned zips built by package.ps1, hosted on Download; the suite version is stamped from DMK.toc, every release git-tagged, CHANGELOG.md at the repo root.

  1. Get the release zip for the version you want from Download.
  2. Extract into World of Warcraft\_anniversary_\Interface\AddOns — the zip carries all 21 addon folders.
  3. Start the client. The TOC list is read at startup, so a running client needs a full restart, not /reload.
  4. Enable the DMK addons on the character-select AddOns list.

Reload rules

ChangeNeeded
Lua edits/reload
Any .toc changeFull client restart
SavedVariables writeHappens on logout or /reload only

Questie

Optional. Questie is the suite's one third-party runtime source: a read-only bridge in DMK_Map, toggle-gated, 150-marker cap. Without Questie the map falls back to the native quest API — nothing else in the suite notices.

AddOns folders

21 folders, one per addon, all publishing through the shared DMK namespace.

Interface\AddOns\
├─ DMK\                     core — config, profiles, UI / window-manager / form libs
├─ DMK_CharData\            data
├─ DMK_CharLogs\            data
├─ DMK_RealtimeData\        data
├─ DMK_AHSync\              data
├─ DMK_GearMGR\             data
├─ DMK_Telemetry\           data
├─ DMK_UnitFrames\          display
├─ DMK_Damage\              display
├─ DMK_DamageSimulation\    display
├─ DMK_Map\                 display
├─ DMK_MiniMap\             display
├─ DMK_Bags\                display
├─ DMK_Anchor\              display
├─ DMK_Status\              display
├─ DMK_Threat\              display
├─ DMK_AHSearch\            display
├─ DMK_Heal\                display
├─ DMK_Radar\               display
├─ DMK_Chat\                display
└─ DMK_Debug\               display

SavedVariables

Written on logout or /reload only. Data plugins own these files; display plugins read via accessors.

WTF\Account\<Account>\
├─ SavedVariables\                            account-wide
│     DMKCoreDB · DMKAHDB
└─ <Realm>\<Character>\SavedVariables\        per-character
      DMK_CharData.lua      DMKCharacterDB
      DMK_CharLogs.lua      DMKCharacterLogDB + DMKChatLogDB (chat history)
      DMK_RealtimeData.lua  DMKCombatEventsDB
      per-plugin DBs        DMKGearDB · DMKTelemetryDB · DMKDamageCharDB ·
                            DMKMapCharDB · DMKMiniMapCharDB · DMKBagsDB ·
                            DMKDamageSimCharDB · DMKAHViewDB · DMKDebugDB

Slash commands

In-game commands. Most windows toggle from the Anchor bar instead.

CommandDoesPlugin
/dmkToggle the settings windowDMK
/dmk show · /dmk hideShow or hide the settings windowDMK
/dmk statusSuite version and feature statesDMK
/dmk lock · /dmk unlockLock or unlock windows (edit mode)DMK
/dmk helpCommand list in chatDMK
/dmk ahToggle the AH Search windowDMK_AHSearch
/dmkahManual auction house scan (AH window must be open)DMK_AHSync
/dmkah statusScan state and cooldownDMK_AHSync
/dmk chardata · captureSnapshot status, or capture nowDMK_CharData
/dmk charlogs count · clearActivity log counts, or clear the logDMK_CharLogs
/dmk damage resetoverallReset the Overall accumulatorDMK_Damage
/dmk simToggle the Damage Simulation windowDMK_DamageSimulation
/dmk gearToggle the GearMGR windowDMK_GearMGR
/dmk events status · clearRaw combat event log status, or clear itDMK_RealtimeData
/dmk syncSync peer list and link stateDMK_RealtimeData

Pipeline

The addon never phones home — SavedVariables are picked up from disk, ingested, and only then read by AI.

01
Disk
SavedVariables on logout / reload
02
Ingest
armory + wow-ah-gen
03
Warehouse
queryable history
04
AI
theorycrafting reads

Inputs

Warehouse reads: character snapshots (gear, stats, talents, professions), combat event history and fight breakdowns, gold/xp series, and current AH pricing per item and suffix.

Processing

Placeholder — describe what actually runs: models, prompts or jobs, how often, and what questions they answer against the warehouse.

Outputs

Placeholder — e.g. gear and loadout evaluation against real prices, spell-rank and rotation analysis from logged fights, upgrade paths per character.