O que NetAlertX faz?
Melhores práticas para criar e manter as configurações do NetAlertX (config.json), incluindo UI, validação, localização, comportamento em tempo de execução e consistência de implementação.
Visão Geral
Esta skill serve como um guia de referência para a definição de configurações no NetAlertX. O arquivo config.json é a fonte central de verdade para todas as opções disponíveis no sistema, e sua estrutura deve seguir rigorosamente estas diretrizes para garantir interoperabilidade e facilidade de manutenção.
Conteúdo da Skill
Estrutura do config.json
Cada configuração no arquivo config.json deve seguir o seguinte formato:
{
"chave_da_configuracao": {
"default": "valor_padrao",
"type": "tipo_do_valor",
"values": ["opcao1", "opcao2"], // Opcional: para valores enumerados
"validation": [
{
"type": "regex",
"pattern": "^[a-zA-Z]+$"
}
], // Opcional: regras de validação
"ui": {
"label": "Rótulo de Exibição",
"description": "Descrição longa para o usuário.",
"type": "text", // ou "number", "select", "checkbox", etc.
"section": "seção_da_interface"
}
}
}
Práticas de UI
- Rótulo: Deve ser conciso e descritivo, traduzido para o idioma alvo.
- Descrição: Fornece contexto adicional sobre o propósito da configuração.
- Tipo: Determina o widget de entrada no frontend (ex.:
text,number,select). - Seção: Agrupa configurações relacionadas em categorias lógicas.
Validação
Regras de validação garantem que a entrada do usuário atenda aos critérios esperados. Tipos comuns incluem:
regex: Valida com base em uma expressão regular.range: Valida se um número está dentro de um intervalo.enum: Valida se o valor está entre uma lista de opções permitidas.
Localização
Para suportar múltiplos idiomas, as strings em ui.label e ui.description podem ser definidas como objetos mapeando códigos de idioma para traduções:
"ui": {
"label": {
"en": "Network Scan Interval",
"pt": "Intervalo de Varredura de Rede",
"de": "Netzwerk-Scan-Intervall"
},
"description": {
"en": "How often to scan the network for new devices.",
"pt": "Com que frequência escanear a rede em busca de novos dispositivos.",
"de": "Wie oft das Netzwerk nach neuen Geräten gescannt wird."
}
}
Comportamento em Tempo de Execução
O sistema lê o config.json na inicialização e aplica as configurações dinamicamente. Mudanças na UI devem ser persistidas de volta ao arquivo. Qualquer configuração inválida deve ser rejeitada com uma mensagem de erro clara.
Consistência de Implementação
- Nomes de chave devem usar
snake_case. - Valores padrão devem ser sempre especificados.
- Tipos devem corresponder ao tipo de dado esperado (string, number, boolean).
- Seções devem refletir a hierarquia da interface do usuário.
Exemplo Completo
{
"scan_interval": {
"default": "300",
"type": "number",
"ui": {
"label": {
"en": "Scan Interval (seconds)",
"pt": "Intervalo de Varredura (segundos)"
},
"description": {
"en": "Time between network scans.",
"pt": "Tempo entre varreduras de rede."
},
"type": "number",
"section": "scan"
},
"validation": [
{
"type": "range",
"min": 60,
"max": 86400
}
]
}
}
Considerações Finais
Seguir estas práticas garantirá que as configurações do NetAlertX sejam consistentes, fáceis de usar e funcionais em todas as plataformas suportadas. Contribuidores devem revisar esta skill antes de adicionar ou modificar qualquer configuração.