What problem does it solve?
Adding or modifying settings in NetAlertX involves many conventions—naming, types, validation, localization, defaults, and runtime lifecycle—and inconsistent settings break the auto-generated Settings UI or cause maintenance debt. This Skill codifies the rules so every setting is declarative, localized, and backwards compatible.
Core Features & Use Cases
- Setting Authoring Standards: Enforces uppercase snake-case naming, correct type selection (string, boolean, select, array, etc.), validation rules, and single-source defaults in config.json.
- Localization & UI Integration: Requires language strings in en_us.json or inline, with GLOBAL_LANG_FILES references so settings render automatically in the Settings UI.
- Runtime Access Patterns: Mandates get_setting_value() in Python and getSetting() in JavaScript instead of reading app.conf directly, and prefers plugin-first settings over hardcoded core settings.
- Use Case: When adding a new MQTT broker timeout option to a NetAlertX plugin, follow this Skill to define the setting in the plugin's config.json with validation, defaults, and localization so it appears in the UI without custom frontend code.
Quick Start
Ask the assistant to add a new NetAlertX plugin setting following the nax-settings-development conventions, including validation and localization strings.