Thank you for your interest in contributing to RaidLogAuto - an addon that automatically enables combat logging in raid instances for World of Warcraft! This guide will help you get started.
- Use the bug report template
- Include your WoW version, RaidLogAuto version, and steps to reproduce
- Use the feature request template
- Explain the problem your feature would solve
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
- World of Warcraft client (Retail, TBC Anniversary, MoP Classic, Cata, or Classic)
- Lua 5.1 (for linting)
- Luacheck (for static analysis)
- Git
-
Fork and clone the repository:
git clone https://github.com/YOUR_USERNAME/RaidLogAuto.git cd RaidLogAuto -
Symlink the addon into your WoW AddOns folder:
# Windows (PowerShell as Admin) New-Item -ItemType SymbolicLink -Path "$env:PROGRAMFILES\World of Warcraft\_retail_\Interface\AddOns\RaidLogAuto" -Target "$(Get-Location)"
-
Reload in-game with
/reload
- Indent with 4 spaces (no tabs)
- No trailing whitespace
Every Lua file should start with:
-------------------------------------------------------------------------------
-- FileName.lua
-- Brief description
--
-- Supported versions: Retail, MoP Classic, TBC Anniversary, Cata, Classic
-------------------------------------------------------------------------------| Element | Convention | Example |
|---|---|---|
| Files | PascalCase | RaidLogAuto_Retail.lua |
| SavedVariables | PascalCase | RaidLogAutoDB |
| Local variables | camelCase | local isLogging |
| Functions | PascalCase | local function ToggleLogging() |
| Constants | UPPER_SNAKE | local MAX_RETRIES = 5 |
- Use defensive nil checks for optional APIs
- Use
pcallfor APIs that may be missing in some versions - Prefer
orfallbacks over runtime version checks
Run luacheck before submitting changes:
luacheck .
luacheck path/to/File.lua # single file for fast feedbackRaidLogAuto does not have automated tests. Manual testing checklist:
- Load the addon in the target game version
- Test slash commands:
/rla status,/rla mythic,/rla toggle - Enter and exit a raid instance to verify auto-logging
- Enable Lua errors:
/console scriptErrors 1 - Verify no errors in the error frame
-
Branch from
master:git checkout -b feat/your-feature-name
-
Commit using Conventional Commits:
git commit -m "feat: add mythic+ logging support (#42)" -
Push your branch and open a PR against
master -
Fill out the PR template and wait for CI checks
| Prefix | Purpose | Example |
|---|---|---|
feat/ |
New feature | feat/19-release-please |
fix/ |
Bug fix | fix/20-logging-error |
docs/ |
Documentation | docs/update-readme |
refactor/ |
Code improvement | refactor/21-core-cleanup |
- CI runs luacheck automatically
- Review by a maintainer
- Squash merge into
master - Release-please creates a release PR when ready
Thank you for contributing to RaidLogAuto!