# MoonWell Client Sources — Agent Guide

## Проект

WoW-клиент на базе патча **3.3.5a (build 12340, WotLK)**. Репозиторий содержит UI-аддоны и
кастомные интерфейсы для приватного сервера MoonWell.

Стек: Lua 5.1, FrameXML (XML + Lua), WoW Addon API 3.3.5.

---

## Навыки (Skills)

Перед тем как работать с UI — **прочитай соответствующий файл из `ai-skills/`**.

| Задача | Файл |
|--------|------|
| Верстка фреймов, XML, Lua CreateFrame, pixel-perfect из Figma, текстуры, шрифты, якоря | [`ai-skills/ui/SKILL.md`](ai-skills/ui/SKILL.md) |
| Виджеты, типы фреймов, Button/EditBox/ScrollFrame, события, SavedVariables, Blizzard API | [`ai-skills/ui/widgets-and-api.md`](ai-skills/ui/widgets-and-api.md) |

Читай **весь файл** скилла, а не отдельные секции — там есть ограничения API, типичные ошибки
и готовые шаблоны.

---

## Ключевые ограничения (всегда держи в голове)

- `## Interface: 30300` — никаких retail-API
- Нет `SetSize()` → только `SetWidth()` / `SetHeight()`
- Нет `C_Timer`, `CreateFramePool`, `PixelUtil`
- Текстуры: только степени двойки, максимум 512×512 px, формат `.tga` / `.blp`
- XML-атрибуты: `relativeTo` (не `relativeKey`), `$parentX` (не `$parent.X`)
- Кнопки и ScrollFrame в XML должны иметь `name`

---

## Структура аддона

```
AddonName/
├── AddonName.toc   ← обязательно, имя файла = имя папки
├── AddonName.xml   ← верстка (загружается первой)
└── AddonName.lua   ← логика
```

Порядок файлов в TOC важен: XML раньше Lua.
