Reference

Documentation

Steps

DMK is not published anywhere public. Releases are versioned zips built by package.ps1; 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 (they're handed out, not hosted).
  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. Done.

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

Flat — 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\THREEDMK\
├─ 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

Data notes

Item-link grammar

Field 1 is the item id; field 7 the random-suffix id — negative values reference Itemrandomsuffix.

Talents

talents.groups[talents.active]; the tree with the most points is the spec.

Repositories

RepositoryLanguageStatus
wow-dmkLuaThe suite, 21 addons. Active.
wow-dmk-webTypeScriptSuite site (core-docker-1:8033). This site: static pages plus a JSON data layer, published via bootstrap.
wow-dmklegacyLuaInactive, informational use only.

Slash commands

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

CommandDoesPlugin
/dmk probe <name>Run a probe, print outputDMK_Debug
/dmkahManual auction house scanDMK_AHSync
/dmkah statusScan and cooldown statusDMK_AHSync
/dmk ahAuction search window (default off)DMK_AHSearch
/dmk simDamage simulation window (default off)DMK_DamageSimulation
/dmk damage resetoverallReset the Overall accumulatorDMK_Damage

Repo tools

PowerShell + luacheck, run from the wow-dmk root. The dev loop: edit → luacheck → publish.ps1 → /reload in game.

ToolDoes
package.ps1Builds the versioned release zips; suite version stamped from DMK.toc, release git-tagged, notes in CHANGELOG.md.
publish.ps1Pushes edited addons into the live AddOns folder for in-game testing via /reload.
luacheckLint before publish — lua51 std, .luacheckrc at the repo root.

Probe loop

Client uncertainty resolves through DMK_Debug: write a probe in Probes.lua, publish, run in game with /dmk probe <name>, paste the output back, retire the probe with a verdict comment.

Error capture rides along: a chained Lua error handler plus ADDON_ACTION_BLOCKED, ADDON_ACTION_FORBIDDEN, and LUA_WARNING feed one buffer, persisted to DMKDebugDB (cap 200, newest win).

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.