NoobTaco-Config

NoobTaco-Config is a modular, schema-driven configuration framework for World of Warcraft addons. Designed with a focus on "pixel-perfect" aesthetics and ease of use, it allows developers to build complex, themed options menus using simple Lua tables.
๐ธ Screenshots
| Overview |
Theme Support |
 |
 |
[!TIP]
Use the Library Showcase in-game to see the dynamic theming and all widgets in action.
โจ Features
- ๐ ๏ธ Declarative Schemas: Define your entire UI layout in nested Lua tables.
- ๐จ Dynamic Theming: Built-in support for NoobTaco, Nord, and Catppuccin themes.
- ๐ก Accessible Typography: Integrated with the Poppins font family using optimized weights (Medium, Bold) for maximum readability.
- โก Transactional State: Built-in commit/revert logic for user settings.
- ๐ Inline Color Tokens: Use
|ctoken| (e.g., |chighlight|) to dynamically style text based on the active theme.
- ๐ Nested Data: Native support for dot-notation in IDs to map directly to complex SavedVariables.
- ๐ Media Previewing: Specialized media widgets with built-in playback for sounds.
๐ Quick Start
1. Initialization
Retrieve the library via LibStub.
local Lib = LibStub("NoobTaco-Config-1.0")
if not Lib then return end
2. Create a Schema
Define the layout of your settings panel.
local schema = {
type = "group",
label = "General Settings",
children = {
{
type = "about",
icon = [[Interface\AddOns\MyAddon\Media\Logo]],
title = "My Addon",
version = "1.0.0",
description = "A powerful configuration suite.",
links = {
{
label = "GitHub",
url = "https://github.com/...",
onClick = function() print("Custom Click!") end
}
}
},
{
type = "card",
label = "Feature Settings",
children = {
{ id = "enableFeature", type = "checkbox", label = "Enable Magic", default = true },
{ id = "powerLevel", type = "slider", label = "Power Level", min = 0, max = 100, default = 9000 }
}
}
}
}
3. Rendering
-- Render directly to a Blizzard category frame
Lib.Renderer:Render(schema, myPanel)
๐ผ๏ธ UI Showcase
| Inputs & Widgets |
Buttons |
Feedback & Alerts |
 |
 |
 |
๐งช Theme Engine
The library supports instant theme switching. All colors, including inline tokens, update in real-time.
| NoobTaco (Standard) |
Nord (Frost) |
Catppuccin (Mocha) |
 |
 |
 |
๐ Documentation
โค๏ธ Support
If you're looking for help, have questions, or want to join the community, join us on Discord!

๐ AI Usage
See AI_USAGE.md for more information.
๐ License
This project is licensed under the GPL-3.0-or-later License - see the LICENSE file for details.