Skip to content

Latest commit

 

History

90 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

craigthackerx-personal

Craig's personal configuration. Today that means his World of Warcraft UI for WoW Forever and retail, and the Python tools that build and check it.

CI Licence


What is in here

Path What it is
wow/ The WoW UI: EllesmereUI profiles, Blizzard Edit Mode layouts and keybinds. How to restore it.
wow/tools/ Python tools that decode, generate and verify the UI strings. Tool guide.
.github/ CI workflow, the lint script, Dependabot and the pull request template.
justfile Entry points for everything: just setup, just verify, just lint.
AGENTS.md Rules and context for AI agents working here. CLAUDE.md points to it.

Older material (Terraform, setup scripts, IDE settings, older addon exports) lives in the legacy tag, not on dev.

World of Warcraft UI

The UI is EllesmereUI, which replaced ElvUI, plus a Blizzard Edit Mode layout and a keybinds file. WoW Forever is the source of truth: the retail versions are generated from the Forever ones, so the two games share a layout and look.

wow/ellesmereui/wow-forever.txt   --eui_make_retail.py-->   wow/ellesmereui/retail.txt
wow/blizz-ui/Craigtho-forever.txt --editmode_convert.py-->  wow/blizz-ui/Craigtho-retail.txt
wow/Bindings.wtf                  (shared by both games)
  • To put the UI on a machine, follow wow/README.md.
  • To change it, change it in game on Forever, export, regenerate and verify. The same guide covers this.
  • The profile and layout strings are opaque data. Never edit them by hand.

Working on the repository

You need Python 3.10 or newer, git and bash. just is optional but saves typing.

just setup    # wow/tools/.venv with lupa, plus the pinned EllesmereUI and LibDeflate sources
just verify   # check every export and prove the generated files are up to date
just lint     # ruff, shellcheck, LF line endings, executable bits, dashes, secret material
just regen    # rebuild the retail files after changing a Forever one, then verify

Without just, the same commands are wow/tools/verify.sh and .github/scripts/lint.sh. See wow/tools/README.md for the manual setup.

CI

.github/workflows/ci.yml runs on every push to dev and on pull requests.

Job What it checks
WoW exports and tools wow/tools/verify.sh: strings are well formed profile exports, both retail files regenerate byte for byte, and the layout merge simulates cleanly on each client.
Lint .github/scripts/lint.sh: ruff, shellcheck, LF line endings, executable bits on scripts, no en or em dashes, no secret material.
Secret scan gitleaks over the full git history.

Actions are pinned to commit SHAs, the workflow token is read only, and gitleaks is fetched by version and checksum. Dependabot proposes updates monthly.

Legacy

Before the September 2026 tidy, this repository also held Terraform for DigitalOcean DNS and its workflows, a TeamSpeak server stack, machine setup scripts for Windows and Fedora, IDE settings, and the 2022 and 2025 addon exports (ElvUI, WeakAuras, VuhDo, Plater, Details, OmniCD, DBM and BigWigs). All of it is kept in the legacy tag:

Licence

MIT.

About

🎮 WoW UI for WoW Forever and retail: EllesmereUI profiles, Edit Mode layouts and keybinds, plus the Python tools that generate and verify them

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages