-
Notifications
You must be signed in to change notification settings - Fork 0
Validation
Contents
Use this page before handing off changes. It separates documentation-only checks from runtime checks and gives agents a repeatable way to report what was validated.
For docs, examples, AGENTS.md, or SKILL.md changes:
- Confirm no runtime files were changed unless the task explicitly allowed it.
- Update
docs/_Sidebar.mdand folder_Sidebar.mdfiles when adding, renaming, or moving pages. - Update
README.mdanddocs/Home.mdwhen adding important pages. - Keep examples generic unless documenting a host-addon wrapper pattern.
- Prefer stable ids and realistic field names in every code snippet.
- Avoid introducing undocumented API names in examples.
- Make every example explain when to use it and what value shape it stores.
- Check Markdown tables render cleanly.
- Check headings match the table of contents anchors.
- Keep
SKILL.mdoperational: it should tell an AI what to read, what to change, what not to change, and how to validate.
For allowed code changes in this repository, run focused syntax checks from the repository root:
lua -e 'assert(loadfile("runtime/LibSettingsDesigner/LibSettingsDesignerConfig.lua")); assert(loadfile("runtime/LibSettingsDesigner/LibSettingsDesignerUI.lua"))'When validating a host addon that vendors the library, run the same check against that addon's local copy:
lua -e 'assert(loadfile("libs/LibSettingsDesigner/LibSettingsDesignerConfig.lua")); assert(loadfile("libs/LibSettingsDesigner/LibSettingsDesignerUI.lua"))'Run the host addon's configured lint/test command when available. If library files are intentionally excluded from lint, say so in the final report and show the syntax-check result instead.
Useful local checks:
rg -n '\[[^]]+\]\([^)]*\)' README.md AGENTS.md SKILL.md docs
rg -n 'TO[D]O|TB[D]|FIXM[E]' README.md AGENTS.md SKILL.md docsManual checks:
-
docs/_Sidebar.mdlinks to high-level pages. -
docs/API/_Sidebar.mdlinks back to Home, Vendoring, Quick Start, Elements, and Examples. -
docs/Elements/_Sidebar.mdlinks to every element page. -
docs/Examples/_Sidebar.mdlinks to every example page. - New pages are discoverable from at least
docs/Home.mdorREADME.md.
When source files are available, use this process to keep docs matched to code:
- Inspect exported namespaces in
runtime/LibSettingsDesigner/LibSettingsDesignerConfig.luaandruntime/LibSettingsDesigner/LibSettingsDesignerUI.lua. - List public Config methods and compare them with
docs/API/Config-API.md. - List public UI methods and compare them with
docs/API/UI-API.md. - Search for supported control
typevalues and compare them withdocs/Elements/Elements.md. - For every changed control type, update its element page with fields, callbacks, value shape, and at least one example.
- Search for field aliases in code and compare them with
docs/Field-Glossary.md. - Search for old names and verify docs do not recommend them.
- Run examples mentally against the documented read/write/default order.
- Report any docs that could not be verified because source files were not available.
Useful commands when source files exist:
rg -n 'function .*Register|Register[A-Za-z]+\s*=|\.Register[A-Za-z]+' runtime/LibSettingsDesigner
rg -n 'type\s*==\s*"|control\.type|data\.type' runtime/LibSettingsDesigner
rg -n 'getValue|setValue|getSelection|setSelection|parentCheck|visibleWhen|hiddenWhen' runtime/LibSettingsDesigner/reload- Open the settings center.
- Verify the dashboard, sidebar, search field, and close button.
- Open a category page list and a page detail view.
- Test each touched control type.
- Verify disabled rows do not show active hover/interaction states.
- Verify hidden rows/pages are actually absent.
- Test search by label, id, keyword alias, and note text.
- Test reset on one control and one page.
- Test direct navigation:
ConfigUI:Open(app, pageID, controlID). - Test compact/comfortable density when enabled.
- Check BugSack or the default Lua error frame.
Use this format in final handoff notes:
Changed:
- Docs: ...
- Skill/agent instructions: ...
- Runtime code: none / list files
Validated:
- Markdown/navigation: ...
- Source/API match: verified against code / not possible because source files were absent
- Syntax/lint: ...
- In-game: done / not run
Remaining recommendations:
- ...
Wiki
• Home
• Architecture
• Vendoring
• Quick Start
• Field Glossary
• Troubleshooting
• Validation
Reference
⚬ Config API
⚬ UI API
⚬ Elements
⚬ Examples
Elements
Structure
• Category
• Page
• Group
• Dashboard
• InfoPage
• Custom
Controls
• Toggle
• CheckboxDropdown
• Dropdown
• MultiDropdown
• SoundDropdown
• Input
• Slider
• Button
Advanced
• ColorPicker
• ColorPalette
• ColorOverrides
• ReorderList
• Expandable
• Notes
Examples
Start
• Minimal Addon
• Complete Settings Center
• Wrapper Bridge Pattern
Data and Behavior
• Dependent Controls
• Nested Database Values
• Dynamic Dropdowns
• Runtime Refresh
• Search and New Badges
• Custom Hosted Editors
Polish
• Support Links
• Theme Colors
• Theme Borders