This guide will walk you through creating your first GitHub release for NextKey, step by step.
Before creating a release, you MUST complete these critical steps:
File: core/debugService.lua (Line 119)
Change:
DEV_MODE = true,To:
DEV_MODE = false,Why: This disables all development logging and removes debug overhead for production users.
Check that these files have matching version numbers:
NextKey.toc(Line 5):## Version: 0.6.6boot.lua(Lines 55-57):NextKey.version_major = 0 NextKey.version_minor = 6 NextKey.version_patch = 3
README.md(Line 166):**Current Status** (v0.6.3):
Current Version: v0.6.6
- Enable script errors:
/console scriptErrors 1 - Open main window:
/nk - Test major features:
- Keystone detection and ranking
- M+ Group Organizer (
/nk organizer) - Teleport system
- Configuration panel (
/nk config)
- Check for Lua errors in chat
With DEV_MODE = false:
/reloadin-game- Open NextKey:
/nk - Use various features
- Verify: No debug messages appear in chat (except ERROR and USER level messages)
Ensure the latest changes are documented in CHANGELOG.md.
Current Latest Version: v0.6.6 (2025-11-13)
The following files/directories should NOT be included in the release package:
.kilocode/- AI assistant rules and memory bank.vscode/- VSCode workspace settings.github/- GitHub workflows and templatesDocumentation/- Internal development documentationRELEASE_GUIDE.md- This guide (optional - can include if helpful)TOOLTIP_BUG_REPORT.md- Internal bug tracking.gitignore- Git configuration
.git/- Git repository data (if present)
Note: For an Alpha release, you may want to INCLUDE the debug/ folder to help testers report issues. For Beta/Production releases, these should be removed:
debug/card_layout_test.luadebug/check_card_state.luadebug/drag_test_simple.luadebug/init.luadebug/loot_tracking_test.luadebug/memoryProfile.luadebug/organizer_foundation_tests.luadebug/organizer_survey_tests.luadebug/organizer_ui_tests.luadebug/performanceMonitor.luadebug/performanceTest.luadebug/pollSimulator.luadebug/pugHelper_tests.luadebug/pugHelper_testUI.luadebug/pugPerformanceTest.luadebug/simple_test.luadebug/spec_change_test.luadebug/test_card_movement.luadebug/test_io_tooltips.luadebug/test_lfg_apis.luadebug/test_priority_sorting.luadebug/tools.lua
Recommendation for Alpha: Keep the debug/ folder for now to help with testing and bug reports.
Your release package should contain:
NextKey.toc- Addon manifestboot.lua- Initialization systemembeds.xml- Library loaderLICENSE- MIT LicenseREADME.md- User documentationCHANGELOG.md- Version history
core/- All core functionalityui/- All UI componentsdata/- Season data (portals, loot, hearthstones)events/- Event handlersoptions/- Configuration UILibs/- Required libraries (Ace3, LibStub, LibOpenRaid)
debug/- Testing and debug utilities (helpful for alpha testers)
README/- User guides and documentationDEBUG_SYSTEM_USER_GUIDE.mdPUG_MODE.mdSLASH_COMMANDS.mdUSER_GUIDE.md
Option A: Manual (Recommended for First Release)
- Create a new folder called
NextKey - Copy all files/folders TO INCLUDE (listed above) into this folder
- DO NOT copy any files from the EXCLUDE list
- Verify the structure looks like this:
NextKey/ ├── core/ ├── ui/ ├── data/ ├── events/ ├── options/ ├── Libs/ ├── debug/ (Alpha only) ├── README/ ├── NextKey.toc ├── boot.lua ├── embeds.xml ├── LICENSE ├── README.md └── CHANGELOG.md - Compress the
NextKeyfolder into a ZIP file:NextKey-v0.6.6-alpha.zip
Option B: Using Git (Advanced)
- Create a
.gitattributesfile with export-ignore rules (similar to .gitignore) - Use
git archiveto create a clean release package
-
Go to GitHub Repository
- Navigate to:
https://github.com/sagerobot/NextKey
- Navigate to:
-
Click "Releases" (right sidebar or top navigation)
-
Click "Draft a new release"
-
Fill in Release Details:
Tag version:
v0.6.6-alphaRelease title:
NextKey v0.6.6 Alpha - LibGroupInSpecT Integration & Enhanced Spec DetectionDescription: (Copy/paste this template)
# NextKey v0.6.6 Alpha Release ## ⚠️ Alpha Release Notice This is an **ALPHA** release for early testing. Expect bugs and incomplete features. Please report issues via [GitHub Issues](https://github.com/sagerobot/NextKey/issues). ## 🚀 What's New in v0.6.6 ### M+ Group Organizer Enhancements - **Auto-save functionality** preserves player slot assignments across sessions - **Visual theming improvements** with class-colored survey cards and role icons - **Enhanced poll data usage** and state management - **Dynamic organizer button** only appears when in groups of 6+ players ### Bug Fixes - Fixed fake player detection to prevent data filtering issues ## 📦 Installation 1. Download `NextKey-v0.6.6-alpha.zip` 2. Extract the ZIP file 3. Copy the `NextKey` folder to `World of Warcraft\_retail_\Interface\AddOns\` 4. Restart World of Warcraft or type `/reload` in-game 5. Type `/nk` to open NextKey ## ⚙️ Requirements - **World of Warcraft:** Retail (The War Within - 11.0.5+) - **RaiderIO Addon:** **REQUIRED** for player scores - **LibOpenRaid:** Optional (enhances keystone sharing) ## 🐛 Known Issues - Hero-track item tooltips need ilvl display tuning - PUG Helper architecture is functional but still undergoing validation ## 📚 Documentation - [User Guide](https://github.com/sagerobot/NextKey/blob/main/README/USER_GUIDE.md) - [Slash Commands](https://github.com/sagerobot/NextKey/blob/main/README/SLASH_COMMANDS.md) - [Debug System Guide](https://github.com/sagerobot/NextKey/blob/main/README/DEBUG_SYSTEM_USER_GUIDE.md) ## 💬 Feedback & Bug Reports Please report issues at: https://github.com/sagerobot/NextKey/issues Include: - WoW version and build number - Steps to reproduce the issue - Any Lua errors (enable with `/console scriptErrors 1`) - Debug logs if applicable (`/nk config` → Debug System) --- **Full Changelog:** See [CHANGELOG.md](https://github.com/sagerobot/NextKey/blob/main/CHANGELOG.md)
-
Upload Release Asset:
- Click "Attach binaries by dropping them here or selecting them"
- Upload your
NextKey-v0.6.6-alpha.zipfile
-
Mark as Pre-release:
- ✅ Check the box: "This is a pre-release"
- This marks it as an alpha/beta release, not production-ready
-
Click "Publish release"
- Go to your Releases page:
https://github.com/sagerobot/NextKey/releases - Verify the release appears correctly
- Download the ZIP file from GitHub
- Test installation:
- Extract the ZIP
- Copy to AddOns folder
- Test in-game
- Verify no issues
After publishing the release:
-
Update README.md (if needed)
- Update installation link to point to latest release:
1. **Download**: Get the latest release from [GitHub Releases](https://github.com/sagerobot/NextKey/releases)
- Update installation link to point to latest release:
-
Announce the Release (optional)
- Post in WoW addon communities
- Share with your guild
- Create a Discord/forum post
-
Monitor for Issues
- Watch GitHub Issues for bug reports
- Respond to user feedback
- Track common problems for next release
-
Revert DEV_MODE (for continued development)
- After the release is published, you can set
DEV_MODE = trueagain in your development environment - Remember: Always set it to
falsebefore the next release!
- After the release is published, you can set
Follow semantic versioning: major.minor.patch
- Pre-Alpha (v0.x.x): Current stage - internal development
- v1.0.0: First public beta/release (feature-complete, production-ready)
-
Alpha Releases: Check "This is a pre-release" ✅
- Version format:
v0.6.6-alpha
- Version format:
-
Beta Releases: Check "This is a pre-release" ✅
- Version format:
v1.0.0-beta.1
- Version format:
-
Production Releases: Leave unchecked
- Version format:
v1.0.0
- Version format:
Consider adding GitHub Actions to automate:
- Version validation
- ZIP package creation
- Release note generation from CHANGELOG.md
If you run into issues during the release process:
- Check GitHub's Creating Releases Documentation
- Review this guide's troubleshooting section below
- Ask in GitHub Discussions or relevant communities
- Choose a different version number
- Or delete the existing tag (not recommended for published releases)
- Check file size (GitHub limit: 2GB per file)
- Try re-uploading
- Verify ZIP file is not corrupted
- Refresh the page
- Check if it's marked as "Draft" instead of published
- Verify you're logged into the correct GitHub account
Current Version: v0.6.6
Release Type: Alpha (pre-release)
Critical Pre-Release Step: Set DEV_MODE = false in core/debugService.lua
Package Name: NextKey-v0.6.6-alpha.zip
Tag Name: v0.6.6-alpha
Good luck with your first release! 🎉